You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@thrift.apache.org by ZHOU Xiaobo <xb...@qq.com> on 2011/01/04 17:38:10 UTC

About non-blocking Client

Hi everyone:

I encounter a situation that when a non-blocking server(say Server_A) processes a request(say Req_1), 
it sends several(say 3) requests to the server(s) behind it. Server_A constructs the response
after all the 3 responses from the behind servers arrives.

So my question is: how can I handle the 3 requests/responses in a non-blocking way?
I guest one approach is that I define these 3 requests 'oneway' services of the behind server(s)
and the 3 responses 'oneway' services of Sever_A. (Does it work?)
But I think it's a tricky way because the responses (from the behind servers) come from a different 
connection( e.x. TCP).

ICE( Internet Communication Engine) can store the requests to a container( ex. std::vector), when 
one response comes, the callback functions can traverse the container to find the corresponding 
request.
Does Thrift support this policy?

thanks a lot�