Aerys\WatcherProcess::bindIpcServer PHP Method

bindIpcServer() private method

private bindIpcServer ( )
    private function bindIpcServer()
    {
        $socketAddress = "127.0.0.1:*";
        $socketTransport = "tcp";
        if (in_array("unix", \stream_get_transports(), true)) {
            $socketAddress = \tempnam(\sys_get_temp_dir(), "aerys-ipc-") . ".sock";
            $socketTransport = "unix";
        }
        if (!($ipcServer = @\stream_socket_server("{$socketTransport}://{$socketAddress}", $errno, $errstr))) {
            throw new \RuntimeException(\sprintf("Failed binding socket server on {$socketTransport}://{$socketAddress}: [%d] %s", $errno, $errstr));
        }
        \stream_set_blocking($ipcServer, false);
        \Amp\onReadable($ipcServer, function (...$args) {
            $this->accept(...$args);
        });
        $resolvedSocketAddress = \stream_socket_get_name($ipcServer, $wantPeer = false);
        return "{$socketTransport}://{$resolvedSocketAddress}";
    }