Hi all,

I'm continuing the apparently elusive quest to get a pipelining capable client. 
We're using the 4.2 HttpCore-NIO parts to build one. I'm aware of the issues 
with non-idempotent POST/PUT requests, as well as expect: 100-continue forcing 
a pipeline flush. We still need pipelining for our use case (high bandwidth 
message rate of small messages over long-latency links with idempotent PUT 
transfers). I found the previous mails on this list talking about do this in 
the AsyncNHttpClientHandler, which is now deprecated in 4.2.

It looks like I just need to modify HttpAsyncRequestExecutor to have a queue of 
states so it can track the messages that are in-flight but not yet replied to. 
It seems like it should work, but a first pass at it doesn't actually do 
pipelining. I am getting a feeling I also need to extend/replace 
HttpAsyncRequester and BasicAsyncRequestExecutionHandler in order to have a 
version of the handler where I can close the requestProducer and 
responseConsumer independently (producer once I move to MessageState.COMPLETED 
for that request, and consumer once we get a reply back).

Can anyone comment if I'm on the right track, or off in the weeds?

Thanks!
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to