Server IP : 85.193.89.191 / Your IP : 18.219.41.33 Web Server : Apache System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 User : bitrix ( 600) PHP Version : 8.1.27 Disable Function : NONE MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/bitrix/www/bitrix/modules/pull/vendor/Protobuf/ |
Upload File : |
<?php namespace Protobuf; use Protobuf\Binary\Platform\PlatformFactory; use Protobuf\Extension\ExtensionRegistry; use Protobuf\Binary\SizeCalculator; use Protobuf\Binary\StreamWriter; use Protobuf\Binary\StreamReader; /** * Base configuration class for the protobuf * * @author Fabio B. Silva <fabio.bat.silva@gmail.com> */ class Configuration { /** * @var \Protobuf\Extension\ExtensionRegistry */ private $extensionRegistry; /** * @var \Protobuf\Binary\Platform\PlatformFactory */ private $platformFactory; /** * @var \Protobuf\Binary\StreamWriter */ private $streamWriter; /** * @var \Protobuf\Binary\StreamReader */ private $streamReader; /** * @var \Protobuf\Binary\SizeCalculator */ private $sizeCalculator; /** * @var \Protobuf\DescriptorLoader */ protected static $instance; /** * Return a ExtensionRegistry. * * @return \Protobuf\Extension\ExtensionRegistry */ public function getExtensionRegistry() { if ($this->extensionRegistry === null) { $this->extensionRegistry = new ExtensionRegistry(); } return $this->extensionRegistry; } /** * Set a ExtensionRegistry. * * @param \Protobuf\Extension\ExtensionRegistry $extensionRegistry */ public function setExtensionRegistry(ExtensionRegistry $extensionRegistry) { $this->extensionRegistry = $extensionRegistry; } /** * Return a PlatformFactory. * * @return \Protobuf\Binary\Platform\PlatformFactory */ public function getPlatformFactory() { if ($this->platformFactory !== null) { return $this->platformFactory; } return $this->platformFactory = new PlatformFactory(); } /** * Return a StreamReader * * @return \Protobuf\Binary\StreamReader */ public function getStreamReader() { if ($this->streamReader !== null) { return $this->streamReader; } return $this->streamReader = new StreamReader($this); } /** * Return a StreamWriter * * @return \Protobuf\Binary\StreamWriter */ public function getStreamWriter() { if ($this->streamWriter !== null) { return $this->streamWriter; } return $this->streamWriter = new StreamWriter($this); } /** * Return a SizeCalculator * * @return \Protobuf\Binary\SizeCalculator */ public function getSizeCalculator() { if ($this->sizeCalculator !== null) { return $this->sizeCalculator; } return $this->sizeCalculator = new SizeCalculator($this); } /** * Sets the PlatformFactory. * * @param \Protobuf\Binary\Platform\PlatformFactory $platformFactory */ public function setPlatformFactory(PlatformFactory $platformFactory) { $this->platformFactory = $platformFactory; } /** * Create a compute size context. * * @return \Protobuf\ComputeSizeContext */ public function createComputeSizeContext() { $calculator = $this->getSizeCalculator(); $context = new ComputeSizeContext($calculator); return $context; } /** * Create a write context. * * @return \Protobuf\WriteContext */ public function createWriteContext() { $stream = Stream::create(); $writer = $this->getStreamWriter(); $sizeContext = $this->createComputeSizeContext(); $context = new WriteContext($stream, $writer, $sizeContext); return $context; } /** * Create a read context. * * @param \Protobuf\Stream|resource|string $stream * * @return \Protobuf\ReadContext */ public function createReadContext($stream) { $reader = $this->getStreamReader(); $registry = $this->extensionRegistry; $context = new ReadContext($stream, $reader, $registry); return $context; } /** * Returns single instance of this class * * @return \Protobuf\Configuration */ public static function getInstance() { if (self::$instance !== null) { return self::$instance; } return self::$instance = new Configuration(); } }