• Модуль: pull
  • Путь к файлу: ~/bitrix/modules/pull/lib/protobuf/incomingmessage.php
  • Класс: BitrixPullProtobufIncomingMessage
  • Вызов: IncomingMessage::serializedSize
public function serializedSize(ProtobufComputeSizeContext $context)
    {
        $calculator = $context->getSizeCalculator();
        $size       = 0;

        if ($this->receivers !== null) {
            foreach ($this->receivers as $val) {
                $innerSize = $val->serializedSize($context);

                $size += 1;
                $size += $innerSize;
                $size += $calculator->computeVarintSize($innerSize);
            }
        }

        if ($this->sender !== null) {
            $innerSize = $this->sender->serializedSize($context);

            $size += 1;
            $size += $innerSize;
            $size += $calculator->computeVarintSize($innerSize);
        }

        if ($this->body !== null) {
            $size += 1;
            $size += $calculator->computeStringSize($this->body);
        }

        if ($this->expiry !== null) {
            $size += 1;
            $size += $calculator->computeVarintSize($this->expiry);
        }

        if ($this->type !== null) {
            $size += 1;
            $size += $calculator->computeStringSize($this->type);
        }

        if ($this->extensions !== null) {
            $size += $this->extensions->serializedSize($context);
        }

        return $size;
    }