Aerys\Server::importClient PHP Method

importClient() private method

private importClient ( $socket, $ip, $port )
    private function importClient($socket, $ip, $port)
    {
        $client = new Client();
        $client->id = (int) $socket;
        $client->socket = $socket;
        $client->options = $this->options;
        $client->exporter = $this->exporter;
        $client->remainingKeepAlives = $this->options->maxKeepAliveRequests ?: PHP_INT_MAX;
        $client->clientAddr = $ip;
        $client->clientPort = $port;
        $serverName = stream_socket_get_name($socket, false);
        $portStartPos = strrpos($serverName, ":");
        $client->serverAddr = substr($serverName, 0, $portStartPos);
        $client->serverPort = substr($serverName, $portStartPos + 1);
        $meta = stream_get_meta_data($socket);
        $client->cryptoInfo = $meta["crypto"] ?? [];
        $client->isEncrypted = (bool) $client->cryptoInfo;
        $client->readWatcher = \Amp\onReadable($socket, $this->onReadable, $options = ["enable" => true, "cb_data" => $client]);
        $client->writeWatcher = \Amp\onWritable($socket, $this->onWritable, $options = ["enable" => false, "cb_data" => $client]);
        $this->clients[$client->id] = $client;
        $client->httpDriver = $this->vhosts->selectHttpDriver($client->serverAddr, $client->serverPort);
        $client->requestParser = $client->httpDriver->parser($client);
        $client->requestParser->valid();
        $this->renewKeepAliveTimeout($client);
    }