private function renewKeepAliveTimeout(Client $client)
{
$timeoutAt = $this->ticker->currentTime + $this->options->keepAliveTimeout;
// DO NOT remove the call to unset(); it looks superfluous but it's not.
// Keep-alive timeout entries must be ordered by value. This means that
// it's not enough to replace the existing map entry -- we have to remove
// it completely and push it back onto the end of the array to maintain the
// correct order.
unset($this->keepAliveTimeouts[$client->id]);
$this->keepAliveTimeouts[$client->id] = $timeoutAt;
}