diff options
author | marvin-borner@live.com | 2018-04-16 21:09:05 +0200 |
---|---|---|
committer | marvin-borner@live.com | 2018-04-16 21:09:05 +0200 |
commit | cf14306c2b3f82a81f8d56669a71633b4d4b5fce (patch) | |
tree | 86700651aa180026e89a66064b0364b1e4346f3f /assets/php/vendor/react/socket/src/UnixServer.php | |
parent | 619b01b3615458c4ed78bfaeabb6b1a47cc8ad8b (diff) |
Main merge to user management system - files are now at /main/public/
Diffstat (limited to 'assets/php/vendor/react/socket/src/UnixServer.php')
-rwxr-xr-x | assets/php/vendor/react/socket/src/UnixServer.php | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/assets/php/vendor/react/socket/src/UnixServer.php b/assets/php/vendor/react/socket/src/UnixServer.php deleted file mode 100755 index 8f1ed98..0000000 --- a/assets/php/vendor/react/socket/src/UnixServer.php +++ /dev/null @@ -1,130 +0,0 @@ -<?php - -namespace React\Socket; - -use Evenement\EventEmitter; -use React\EventLoop\LoopInterface; -use InvalidArgumentException; -use RuntimeException; - -/** - * The `UnixServer` class implements the `ServerInterface` and - * is responsible for accepting plaintext connections on unix domain sockets. - * - * ```php - * $server = new UnixServer('unix:///tmp/app.sock', $loop); - * ``` - * - * See also the `ServerInterface` for more details. - * - * @see ServerInterface - * @see ConnectionInterface - */ -final class UnixServer extends EventEmitter implements ServerInterface -{ - private $master; - private $loop; - private $listening = false; - - /** - * Creates a plaintext socket server and starts listening on the given unix socket - * - * This starts accepting new incoming connections on the given address. - * See also the `connection event` documented in the `ServerInterface` - * for more details. - * - * ```php - * $server = new UnixServer('unix:///tmp/app.sock', $loop); - * ``` - * - * @param string $path - * @param LoopInterface $loop - * @param array $context - * @throws InvalidArgumentException if the listening address is invalid - * @throws RuntimeException if listening on this address fails (already in use etc.) - */ - public function __construct($path, LoopInterface $loop, array $context = array()) - { - $this->loop = $loop; - - if (strpos($path, '://') === false) { - $path = 'unix://' . $path; - } elseif (substr($path, 0, 7) !== 'unix://') { - throw new InvalidArgumentException('Given URI "' . $path . '" is invalid'); - } - - $this->master = @stream_socket_server( - $path, - $errno, - $errstr, - STREAM_SERVER_BIND | STREAM_SERVER_LISTEN, - stream_context_create(array('socket' => $context)) - ); - if (false === $this->master) { - throw new RuntimeException('Failed to listen on unix domain socket "' . $path . '": ' . $errstr, $errno); - } - stream_set_blocking($this->master, 0); - - $this->resume(); - } - - public function getAddress() - { - if (!is_resource($this->master)) { - return null; - } - - return 'unix://' . stream_socket_get_name($this->master, false); - } - - public function pause() - { - if (!$this->listening) { - return; - } - - $this->loop->removeReadStream($this->master); - $this->listening = false; - } - - public function resume() - { - if ($this->listening || !is_resource($this->master)) { - return; - } - - $that = $this; - $this->loop->addReadStream($this->master, function ($master) use ($that) { - $newSocket = @stream_socket_accept($master); - if (false === $newSocket) { - $that->emit('error', array(new RuntimeException('Error accepting new connection'))); - - return; - } - $that->handleConnection($newSocket); - }); - $this->listening = true; - } - - public function close() - { - if (!is_resource($this->master)) { - return; - } - - $this->pause(); - fclose($this->master); - $this->removeAllListeners(); - } - - /** @internal */ - public function handleConnection($socket) - { - $connection = new Connection($socket, $this->loop); - $connection->unix = true; - - $this->emit('connection', array( - $connection - )); - } -} |