The Tech Report
New Scientist
Ars Technica
Voodoo Extreme
Rally Racing
F1 Racing

MRPC (Modular Remote Procedure Call)

MRPC is an open source remote procedure call system.  It consists of a code generator and a transport interface.  Sample transport code is provided and new transports are easy to define.

Using MRPC it becomes extremely easy to create programs that utilize fairly advanced networking and interprocess communication.  In addition, all client and server code is typesafe; it is impossible to have synchronization problems.  The same code can be used to communicate with TCP over a network and with anonymous pipes for quick local interprocess communication.

Several goals have been followed during the development of MRPC:

  • clean, easy to follow and well documented code (look for the code walkthrough in the README)
  • no prebuilt libraries; all code for users is generated or static and can be directly compiled in
  • multiple and user definable transports
  • allow multiple languages (only C++ is currently supported)
  • a rich yet generic set of marshallable types
  • efficiency
  • portability (the code is clean, but only Linux under egcs is currently supported)
  • ease of use for both clients and servers
  • do not attempt to hide the fact that calls are going over the network (the return type is always MRPC_RETURN and no exceptions are thrown)
Any suggestions, comments or patches are always welcome!  The code generator is licensed under the GPL and all other code is in the public domain.  This implies that it is possible to use MRPC for commercial projects without restriction.  The code generator itself is subject to the usual GPL restrictions.

The current version is 0.9.1 and is available for download.  This is the README included with the distribution.

I can be reached at  redir@tildeslash.org.

This site is running on Linux with Apache.