
Hi, I've built my own Rpc framework to communicate between a PC and an embedded system. I ended up rolling my own since there were a few features I needed that I couldn't find anywhere else. In particular . Cross Language support - I wanted to be able to talk between a C# application and a C++ application. (arguably this is beyond the scope of boost) . Support for providing my own transport layer - we communicate over a custom USB connection - pretty much all the implementations I found assumed http Andrew -----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Paolo Coletta Sent: Friday, March 21, 2008 11:01 AM To: boost@lists.boost.org Subject: Re: [boost] [gsoc 2008] A C++ Remote Method Invocation FrameworkusingBoost.Asio Hi, you could also take a look to this work by Jarl Lindrud (http://www.codeproject.com/KB/threads/Rcf_Ipc_For_Cpp.aspx), which is already based on boost (uses boost asio and boost serialization, but also provides custom alternatives for both), but it's not in the form of a boost library. In the past there has been some discussion about possible integration between this library and boost.interface. As a user, I'd highly appreciate to have one such library in boost (I'm currently using the library by Lindrud in several projects). Paolo "salinda h" <salinda215@gmail.com> ha scritto nel messaggio news:350da3070803210611o594a7ad9j57fe42e5edfa1152@mail.gmail.com...
Hi All,
For the google summer of code 2008, I wish to build a Cross Platform Remote Method Invocation Framework for C++ using Boost.Asio, similar to Java's remote method invocation (RMI). I will provide some macro definitions to create the proxy code.
Please provide me your comments to adjust this idea to best suit the interests of boost community. I higly appreciate your suggestions.
A sample code that will use this framework wold look like,
account.h -------------- DECLARE_BEGIN_PROXY(account) DECLARE_METHOD_1(deposit, void, double); DECLARE_METHOD_0(get_balance, double); DECLARE_END;
class account { .......... ......... }
Server Code ----------------- account acc = new account("Foo", 250); Server s = new server(server::TCP, 19000); s.attach("Foo", acc); s.run();
Client Code ---------------- account_proxy acct = account_proxy::get_proxy("172.25.44.195", server::TCP, 19000, "Foo"); acct.deposit(100); double balance = acct.get_balance();
Thank You, Salinda _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost -- BEGIN-ANTISPAM-VOTING-LINKS ------------------------------------------------------ NOTE: This message was trained as non-spam. If this is wrong, please correct the training as soon as possible. Teach CanIt if this mail (ID 11287690) is spam: Spam: http://mail-gw.cognex.com/canit/b.php?c=s&i=11287690&m=6f0a194bece5 Not spam: http://mail-gw.cognex.com/canit/b.php?c=n&i=11287690&m=6f0a194bece5 Forget vote: http://mail-gw.cognex.com/canit/b.php?c=f&i=11287690&m=6f0a194bece5 ------------------------------------------------------ END-ANTISPAM-VOTING-LINKS