Add a multiplexing Java client
------------------------------

                 Key: THRIFT-1034
                 URL: https://issues.apache.org/jira/browse/THRIFT-1034
             Project: Thrift
          Issue Type: New Feature
          Components: Java - Library
         Environment: Java v1.4 or higher 
            Reporter: Xing Jin


One of our recent projects requires to fetch responses from several hundred 
servers. All servers have similar settings. The client needs to send same 
request to all servers, and then fetch their responses.

We would like to use non-blocking sockets to implement it, as it is much faster 
than setting up hundreds of blocking sockets. So in this patch, we create a 
client class, which sends a same request to multiple servers (using 
java.nio.selector and non-blocking socket), then fetches response from all 
these servers, and returns results as an array of ByteBuffer. We also pass a 
timeout value to the client, so that when a pre-defined time duration passes, 
the client would shutdown all sockets and return any available responses.

It assumes all servers are non-blocking servers and all use TFramedTransport. 

We have done many local tests. We could generate some unittest if necessary. 
Appreciate any comments!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to