src/Protocol/EasyStream.php
private function pack($data): string
    {
        $flag = $this->flagChoice(gettype($data));
        if ($flag & self::DATA_OBJECT) {
            $data = serialize($data);
        } elseif ($flag & self::DATA_ARRAY) {
            $data = json_encode($data);
        }
        $size = strlen($data);
        if ($size > self::PACKET_MAX_SIZE_WITH_HEADER) {
            throw new SendException('Large size of data to send! Please break it into your code.');
        }
        $format = 'CNa*';
        if ($size <= self::SHORT_PACKET_SIZE) {
            $format = 'CCa*';
            $flag |= self::SHORT_PACKET;
        }
        return pack($format, $flag, $size - 1, $data);
    }
private function pack($data): string
    {
        $flag = $this->flagChoice(gettype($data));
        if ($flag & self::DATA_OBJECT) {
            $data = serialize($data);
        } elseif ($flag & self::DATA_ARRAY) {
            $data = json_encode($data);
        }
        $size = strlen($data);
        if ($size > self::PACKET_MAX_SIZE_WITH_HEADER) {
            throw new SendException('Large size of data to send! Please break it into your code.');
        }
        $format = 'CNa*';
        if ($size <= self::SHORT_PACKET_SIZE) {
            $format = 'CCa*';
            $flag |= self::SHORT_PACKET;
        }
        return pack($format, $flag, $size - 1, $data);
    }
Пакует данные в пакеты, и возвращает массив пакетов,
которые можно отправлять в любом порядке.

@param $data

@return string
@throws SendException