![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/rector/rector/vendor/react/stream/src/ |
<?php namespace RectorPrefix202308\React\Stream; use RectorPrefix202308\Evenement\EventEmitter; final class CompositeStream extends EventEmitter implements DuplexStreamInterface { private $readable; private $writable; private $closed = \false; public function __construct(ReadableStreamInterface $readable, WritableStreamInterface $writable) { $this->readable = $readable; $this->writable = $writable; if (!$readable->isReadable() || !$writable->isWritable()) { $this->close(); return; } Util::forwardEvents($this->readable, $this, array('data', 'end', 'error')); Util::forwardEvents($this->writable, $this, array('drain', 'error', 'pipe')); $this->readable->on('close', array($this, 'close')); $this->writable->on('close', array($this, 'close')); } public function isReadable() { return $this->readable->isReadable(); } public function pause() { $this->readable->pause(); } public function resume() { if (!$this->writable->isWritable()) { return; } $this->readable->resume(); } public function pipe(WritableStreamInterface $dest, array $options = array()) { return Util::pipe($this, $dest, $options); } public function isWritable() { return $this->writable->isWritable(); } public function write($data) { return $this->writable->write($data); } public function end($data = null) { $this->readable->pause(); $this->writable->end($data); } public function close() { if ($this->closed) { return; } $this->closed = \true; $this->readable->close(); $this->writable->close(); $this->emit('close'); $this->removeAllListeners(); } }