Aerys\Websocket\Rfc6455Endpoint::unloadClient PHP Method

unloadClient() private method

private unloadClient ( Aerys\Websocket\Rfc6455Client $client )
$client Aerys\Websocket\Rfc6455Client
    private function unloadClient(Rfc6455Client $client)
    {
        $client->parser = null;
        if ($client->readWatcher) {
            \Amp\cancel($client->readWatcher);
        }
        if ($client->writeWatcher) {
            \Amp\cancel($client->writeWatcher);
        }
        unset($this->heartbeatTimeouts[$client->id]);
        ($client->serverRefClearer)();
        unset($this->clients[$client->id]);
        // fail not yet terminated message streams; they *must not* be failed before client is removed
        if ($client->msgPromisor) {
            $client->msgPromisor->fail(new ClientException());
        }
        if ($client->writeBuffer != "") {
            $client->writeDeferred->fail(new ClientException());
        }
        foreach ([$client->writeDeferredDataQueue, $client->writeDeferredControlQueue] as $deferreds) {
            foreach ($deferreds as $deferred) {
                $deferred->fail(new ClientException());
            }
        }
    }