There's a workaround even without the need for #19: you set the `STREAM_CLIENT_ASYNC_CONNECT` flag and then subscribe for a write event on the connecting stream, if  `stream_socket_get_name($socket, true) === false` when the write event kicks then it means that the connection has been refused.

I do that in Predis\Async and it seems to work quite well, see [here](https://github.com/nrk/predis-async/blob/428b6f53acfa9d1bcd79e48dd1d4f37828055abb/lib/Predis/Async/Connection/StreamConnection.php#L164-L171) and [here](https://github.com/nrk/predis-async/blob/428b6f53acfa9d1bcd79e48dd1d4f37828055abb/lib/Predis/Async/Connection/StreamConnection.php#L267-L280) for the related code.