I agree. This is also my thought. Meanwhile, I have already added some async feature in Transceiver class, you can see it from http://github.com/coolwhy/avro-rpc-on-netty/blob/master/src/java/org/apache/avro/ipc/NettyTransceiver.java . Of course the transport protocol had to be changed to support the async call. I used a serial number to track each call of client side. But I don't know why the method Requestor.request is synchronized, which would harm the concurrency of client calls.
- harry On Mon, Jun 28, 2010 at 11:42 PM, Doug Cutting <[email protected]> wrote: > On 06/25/2010 09:39 PM, harry wang wrote: > >> I prefer the behavior of the solution is the same as Avro >> Server/Transceiver pair because they are used >> now in the release package. >> > > I like this about your patch: it lets folks try out a Netty-based transport > easily, by simply changing their Transceiver and Server implementations and > nothing else. The design goal of the existing API is to make transports > pluggable in this way. It may not be a perfect API for this, but you've > shown it's workable. Separately we might work to improve it, e.g., by > adding support for async calls, etc. > > Doug >
