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

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

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

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

        if ($this->created !== null) {
            $size += 1;
            $size += 4;
        }

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

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

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

        return $size;
    }