$this->size().chr($this->tag),'body'=>$this->body()]; } /* Defaults for unsupported packets */ function read() { $this->data = $this->input; } public function setTag(int $tag): void { if (get_class($this) !== Subpacket::class) throw new PacketTagException('Attempting to set a tag for invalid class: ',get_class($this)); $this->tag = $tag; } protected function size(): string { // Use 5-octet lengths + 1 for tag as first packet body octet return chr(255).pack('N',strlen($this->body())+1); } }