Aerys\Server::close PHP Method

close() private method

private close ( Client $client )
$client Client
    private function close(Client $client)
    {
        $this->clear($client);
        assert($client->isDead != Client::CLOSED_RDWR);
        @fclose($client->socket);
        $client->isDead = Client::CLOSED_RDWR;
        $this->clientCount--;
        $net = @\inet_pton($client->clientAddr);
        if (isset($net[4])) {
            $net = substr($net, 0, 7);
        }
        $this->clientsPerIP[$net]--;
        assert($this->logDebug("close {$client->clientAddr}:{$client->clientPort}"));
        if ($client->bodyPromisors) {
            $ex = new ClientException();
            foreach ($client->bodyPromisors as $promisor) {
                $promisor->fail($ex);
            }
        }
        if ($client->bufferPromisor) {
            $ex = $ex ?? new ClientException();
            $client->bufferPromisor->fail($ex);
        }
    }