Ok, I shall do that. 

That means there are other problems with the reply_pipe concept: I use it to filter incoming messages and only process messages from the pipe the request was originally sent to. If a reconnect removes the old and makes a new pipe, the reply on the new pipe won't be accepted. See req_t::recv_reply_pipe()

Is there a way to implement by-connection filtering correctly? Otherwise it should be removed.

Secondly, is there a good way of testing resets of the underlying connection? It'd be nice to have a test case that catches this kind of problem.