libt2n - C++ library for IPC

libt2n (talk to neighbor) is a C++ library for inter-process communication (IPC) with an additional code generator (libt2n-codegen)

Introduction

Before inventing our own IPC library, we checked a lot of other IPC frameworks like CORBA, D-BUS and ICE. But they weren't easy to use (you need many lines of code to export or use a method, let alone good error handling) and did not allow passing complex C++ objects like vectors, maps and your own classes. To get all this we had to develop our own framework.

Here's a list of goals we had in mind while developing:

  • easy to use, mimimum of code-lines needed to export and use methods
  • handles complex C++ structures like maps of vectors, etc.
  • passes exceptions from the server back to the caller
  • easy integration into autotools and pkg-config
Of course we had to limit the feature set, so libt2n currently has these restrictions:
  • C++ only
  • Synchronous, blocking, no callbacks
  • no server-side objects, just functions you can call
  • no threads or multiple server processes for handling multiple requests at once
Communication between client and server is currently done using Unix domain sockets (named pipes) or TCP. But the library is designed transport-independent, so it can be expanded to shared memory or other mechanisms.

Serializing all the complex objects is done with Boost serialization.


Requirements and Dependencies

For using the library:

For building new servers:


Documentation

The library documentation is here (generated with Doxygen). It includes a usage example where you see how easy it is to use libt2n.

License

LGPL for the library and GPL for the code generator and examples. For details see the files COPYING.LIB and COPYING included in the source package.

Download

Source TGZs
libt2n-0.3.tar.gz, released 2007-05-08.
libt2n-0.2.tar.gz, released 2006-12-21.

Contact

If you have any problems using the library, feel free to ask us via email at:

  © Intra2net AG 2008 Fragen oder Anmerkungen zur Webseite?
Schreiben Sie einfach an webmaster@intra2net.com
Impressum | AGB