/** * Receive response * * @param Socket $socket * @param callable $onSuccess * @param callable $onFailure * * @return boolean */ protected function receiveResponse(Socket $socket, $onSuccess, $onFailure) { try { $message = $socket->recvFrom(1024, MSG_WAITALL, $remote); } catch (SocketException $exception) { return $onFailure($socket, $exception); } return $onSuccess($socket, $message, $remote); }