
2011/7/28 Daniel Larimer <dlarimer@gmail.com>:
I have just recently completed my first alpha release of a generic RPC library designed to support different protocols (JSON, XML, Protocol Buffers) and different transports (UDP, TCP, HTTP) in a generic manner.
Sounds great!
Lastly all of this builds on top of my Boost.CMT (Collaborative Multi-Tasking Library) which seems to be along the same lines as Oliver's Boost.Strand library, but with a simpler interface. It is built on top of Boost.Context. This allows the RPC to be asynchronous, thread-safe, and free of nasty completion handlers.
You don`t use asio, is you code portable to other operating systems? Can it be tuned, to use asio/libev?
I have documentation of all three libraries posted here.
I took a quick glance. Looks like "alpha release", but it is possible to understand the idea. This looks like not a safe approach: void operator()( Member Class::*p, const char* name ) You serialize no info about function parameters. I`m interested, but now I have no projects were it is possible to use your library. Best regards, Antony Polukhin