MessagePack\Packer::packExt PHP Method

packExt() public method

public packExt ( Ext $ext )
$ext Ext
    public function packExt(Ext $ext)
    {
        $type = $ext->getType();
        $data = $ext->getData();
        $len = \strlen($data);
        switch ($len) {
            case 1:
                return "Ô" . \chr($type) . $data;
            case 2:
                return "Õ" . \chr($type) . $data;
            case 4:
                return "Ö" . \chr($type) . $data;
            case 8:
                return "×" . \chr($type) . $data;
            case 16:
                return "Ø" . \chr($type) . $data;
        }
        if ($len <= 0xff) {
            return "Ç" . \chr($len) . \chr($type) . $data;
        }
        if ($len <= 0xffff) {
            return \pack('CnC', 0xc8, $len, $type) . $data;
        }
        return \pack('CNC', 0xc9, $len, $type) . $data;
    }