alexdoth/fyrie-redis — Issue #4: RedisClientSession may fail to complete client request
Author: alexdoth
Created: 2012-01-22 02:24:32+00:00
State: open

To complete the sender's future RedisClientWorker needs to receive Run before IO.Read. If the order is not met, the sender will receive a future timeout exception for the request.

In RedisClientSession the response to a request involves the following

```
def receive () = {
....
case req: Request ⇒
worker forward Run
socket write req.bytes
onRequest(req)
....
}
```
It can happen that the IOManager sends IO.Read before the Run message has been forwarded.