thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruce Simpson <...@incunabulum.net>
Subject Non-blocking C++ client?
Date Fri, 19 Jun 2009 13:03:28 GMT
Hi all,

I am currently evaluating Thrift with a view to replacing the XRL IPC 
mechanism in  XORP, http://www.xorp.org/.

XORP is the only actively developed open source solution for Internet 
multicast routing in the industry. Having said that, PIM is quite a 
complex protocol, and in XORP, everything is realized in C++.

One consequence of how XORP has been developed is that all XORP 
processes are single threaded. An existing slim class library implements 
the common idioms of the Reactor pattern, EventLoop, etc. All XRL calls 
are asynchronous, and require the use of event-driven callbacks.

I notice that the C++ client examples for Thrift either assume it's O.K. 
to use threads, or use blocking I/O. Can anyone point me at an example 
of how to do non-blocking RPC in C++ with Thrift? If not, roughly how 
much work is it going to be to add?
I see that non-blocking servers are just fine -- and that there are some 
patches floating around to improve that too.

I am excited by Thrift's possibilities, however, need to ensure that it 
can fit into our framework O.K.

thanks very much,
BMS

P.S. I am also very interested in Thrift + AMQP in a non-blocking C++ 
context, the clustering and virtualization case is strong.

Mime
View raw message