Summary: This parameter is ignored and defaultProtocolFactory is passed, this looks like a bug to me.
Summary: This is for http clients. Http client uses binary protocol and the context can use the RequestChannel's type to determine if it is a HttpClient and set its headers.
Before this change, an expiration timer would hold a reference to a request until the timer expires (5 seconds by default), even if a reply gets generated much sooner. The result is that all requests recieved in the last 5 seconds are held in memory even if most/all could be purged. This change cancels the expiration timer and allows the GC to free a request for which a reply has been generated.
The incoming message's seqid is used but this sqid isn't implemented in the same way across languages. The task timeout test in TestPlainServer succeeds because java client maintains an incremental seqid starting from 1. The php client starts from a seqid of 0 and breaks.
As a result of a recent change that fixes the ordering of closing the channel and calling the error callbacks for any active requests, there could be cases where a callback for a request failure tries to retry the request on the same channel. We should fail such requests immediately, because the channel is about to be closed anyway.
This reverts commit baaa195.
nifty-load-tester uses airlift/bootstrap, which brings in jcl-over-slf4j. Can't bring in both jcl-over-slf4j and commons-logging.
Make the client/server configs accessible respectively to the client/server security factories. The primary use for this currently will be for the security factories to get the shared timer which will can be used for security-related timeouts.
Some callers actually wanted to create a transport around a ChannelBuffer in order to traverse through the data in the buffer and figure out how many bytes were read. If the buffer is duplicated internally, they can't check how many bytes were read without providing access to the duplicated buffer. In the end I decided to switch things back to how they were, and the code that actually *did* want the buffer duplicated (to do some pre-processing of the message before sending it to the actual processor) will do so explicitly.