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�

Reply via email to