📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
e-ticaretv3.demodesign.com.tr
/
vendor
/
binsoul
/
net-mqtt
/
src
📝
StreamParser.php
← Geri Dön
<?php namespace BinSoul\Net\Mqtt; use BinSoul\Net\Mqtt\Exception\EndOfStreamException; use BinSoul\Net\Mqtt\Exception\MalformedPacketException; use BinSoul\Net\Mqtt\Exception\UnknownPacketTypeException; /** * Provides methods to parse a stream of bytes into packets. */ class StreamParser { /** @var PacketStream */ private $buffer; /** @var PacketFactory */ private $factory; /** @var callable */ private $errorCallback; /** * Constructs an instance of this class. */ public function __construct() { $this->buffer = new PacketStream(); $this->factory = new PacketFactory(); } /** * Registers an error callback. * * @param callable $callback */ public function onError($callback) { $this->errorCallback = $callback; } /** * Appends the given data to the internal buffer and parses it. * * @param string $data * * @return Packet[] */ public function push($data) { $this->buffer->write($data); $result = []; while ($this->buffer->getRemainingBytes() > 0) { $type = $this->buffer->readByte() >> 4; try { $packet = $this->factory->build($type); } catch (UnknownPacketTypeException $e) { $this->handleError($e); continue; } $this->buffer->seek(-1); $position = $this->buffer->getPosition(); try { $packet->read($this->buffer); $result[] = $packet; $this->buffer->cut(); } catch (EndOfStreamException $e) { $this->buffer->setPosition($position); break; } catch (MalformedPacketException $e) { $this->handleError($e); } } return $result; } /** * Executes the registered error callback. * * @param \Throwable $exception */ private function handleError($exception) { if ($this->errorCallback !== null) { $callback = $this->errorCallback; $callback($exception); } } }
💾 Kaydet
İptal
📝 Yeniden Adlandır
İptal
Kaydet
🔐 Dosya İzinleri (chmod)
İzin Değeri:
Hızlı Seçim:
777
755
644
600
777
= Herkes okur/yazar/çalıştırır
755
= Sahip tam, diğerleri okur/çalıştırır
644
= Sahip okur/yazar, diğerleri okur
600
= Sadece sahip okur/yazar
İptal
Uygula