Hi Craig, You're correct. While the async interfaces are compatible with all transceiver implementations, only NettyTransceiver is truly asynchronous. When using the async interface with any other transceiver it will simply behave in a synchronous way by blocking until the response is returned.
It should be possible to add async support to HttpTransceiver as well. I think the only issue preventing HttpTransceiver from working asynchronously is the lack of support for out-of-order responses: https://issues.apache.org/jira/browse/AVRO-625 Once that issue has been resolved I think it should be easy to make HttpTransceiver asynchronous. Looking at AVRO-625 it seems like there is some debate about what the best approach is for implementing this functionality. For example, to prevent breaking existing code that uses HttpTransceiver, users of the synchronous interface should be able to specify whether they want to allow out-of-order responses. I can imagine that some uses of this transceiver may depend on the current in-order behavior, so that should probably be the default. -James On Sat, Dec 10, 2011 at 12:08 PM, Craig Landry <[email protected]>wrote: > I'm trying to make use of the async client functionality that was > added for AVRO-539 but from what I can tell it will only work > asynchronously with the NettyTransceiver. Are there any plans to add > this functionality to the HttpTransceiver? >
