public function getMessagePacket() { $io = new StringWriter(); $io->writeInt8($this->type); $io->writeInt8($this->code); $io->writeInt16BE($this->checksum); $io->writeInt32BE($this->header); return $io->toString() . $this->payload; }
public function desiccate(Tree $tree) { $writer = new StringWriter(); foreach ($tree->getNodes() as $node) { $writer->writeString8($node->getOctalModeString()); $writer->writeString8(' '); $writer->writeString8($node->getName()); $writer->writeString8(""); $sha = $node->getRelatedObject()->getSha(); if (strlen($sha) != 40) { throw new NotPersistedException("Object referred to by node named " . $node->getName() . " is not persisted yet."); } $writer->writeHHex($sha); } $data = $writer->toString(); return new RawObject('tree', $data); }