Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/ilovecveti.ru/bitrix/modules/pull/vendor/Protobuf/Extension/ |
Upload File : |
<?php namespace Protobuf\Extension; use Protobuf\ReadContext; use Protobuf\WriteContext; use Protobuf\ComputeSizeContext; /** * Protobuf extension field * * @author Fabio B. Silva <fabio.bat.silva@gmail.com> */ class ExtensionField { /** * @var callback */ private $sizeCalculator; /** * @var callback */ private $writer; /** * @var callback */ private $reader; /** * @var string */ private $extendee; /** * @var string */ private $method; /** * @var string */ private $name; /** * @var integer */ private $tag; /** * @param string $extendee * @param string $name * @param integer $tag * @param callback $reader * @param callback $writer * @param callback $sizeCalculator * @param string $method */ public function __construct($extendee, $name, $tag, $reader, $writer, $sizeCalculator, $method = null) { $this->tag = $tag; $this->name = $name; $this->reader = $reader; $this->writer = $writer; $this->method = $method; $this->extendee = $extendee; $this->sizeCalculator = $sizeCalculator; } /** * @return string */ public function getExtendee() { return $this->extendee; } /** * @return string */ public function getMethod() { return $this->method; } /** * @return string */ public function getName() { return $this->name; } /** * @return integer */ public function getTag() { return $this->tag; } /** * @param \Protobuf\ComputeSizeContext $context * @param mixed $value * * @return integer */ public function serializedSize(ComputeSizeContext $context, $value) { return call_user_func($this->sizeCalculator, $context, $value); } /** * @param \Protobuf\WriteContext $context * @param mixed $value */ public function writeTo(WriteContext $context, $value) { call_user_func($this->writer, $context, $value); } /** * @param \Protobuf\ReadContext $context * @param integer $wire * * @return mixed */ public function readFrom(ReadContext $context, $wire) { return call_user_func($this->reader, $context, $wire); } }