private function dequeueNextRequest()
{
$cycle = array_shift($this->queue);
$authority = $this->generateAuthorityFromUri($cycle->uri);
$socketCheckoutUri = $cycle->uri->getScheme() . "://{$authority}";
$cycle->socketCheckoutUri = $socketCheckoutUri;
$futureSocket = $this->socketPool->checkout($socketCheckoutUri, $cycle->options);
$futureSocket->when(function ($error, $result) use($cycle) {
$this->onSocketResolve($cycle, $error, $result);
});
}