X-Git-Url: http://developer.intra2net.com/git/?p=libt2n;a=blobdiff_plain;f=doc%2Findex.doc;h=395603df0a83b805cb72dc0dc9bc7bcfacce9ee2;hp=b94ca1237e4e2de1a55ac6cc1d9f9a51b7b0187b;hb=1450c0649dc1f1414fd8e051b8d452f4adcb4b24;hpb=c5ca613b8d8a4d3d16495cbf062e183b912b415f diff --git a/doc/index.doc b/doc/index.doc index b94ca12..395603d 100644 --- a/doc/index.doc +++ b/doc/index.doc @@ -2,17 +2,12 @@ \section intro_sec Introduction \par libt2n (talk to neighbor) is a C++ library for inter-process communication (IPC \ref notes1 "[1]") with an additional code generator (libt2n-codegen) to make C++ remote procedure calls (RPC \ref notes2 "[2]") simple. - \htmlonly -
- \endhtmlonly \par - Figure: Remote procedure call overview \ref notes3 "[3]" - \par - The figure shows an general overview of the steps involved in a remote procedure call. Using libt2n and its code generator only the server procedure implementations have to be written manually. The stubs are generated by the code generator and the inter-process communication routines are provided by libt2n. libt2n provides an abstract interface for +Using libt2n and its code generator only the server procedure implementations have to be written manually. The stubs are generated by the code generator and the inter-process communication routines are provided by libt2n. libt2n provides an abstract interface for \ref libt2n::connection "connections" - hiding the details of the concrete communication mechanism used. At the moment it is implemented for local sockets (a.k.a "Unix domain sockets") and TCP/IP sockets. (\ref libt2n::socket_client_connection, \ref libt2n::socket_server_connection) + hiding the details of the concrete communication mechanism used. At the moment it is implemented for local sockets (a.k.a "Unix domain sockets") and TCP-sockets. (\ref libt2n::socket_client_connection, \ref libt2n::socket_server_connection) \par - The client procedure stubs provide an interface to the server procedure implementations. To call the server procedure the client stub procedure is called (step 1). The client stub procedure transforms the procedure arguments and signature including the procedure "name" into a sequence of bytes using boost serialization \ref notes6 "[6]". This byte sequence represents a request to call a procedure with those arguments (step 2). Using the communication routines of libt2n the request is sent to the server. (step 3,4). The server procedure stubs de-serialize the request and call the corresponding server procedure using the reconstructed arguments (step 5). The result of the server procedure is serialized and sent back to the client (steps 6,7,8). Finally the result is de-serialized on client side again and returned to the caller. (steps 9,10). + The client procedure stubs provide an interface to the server procedure implementations. To call the server procedure the client stub procedure is called. The client stub procedure transforms the procedure arguments and signature including the procedure "name" into a sequence of bytes using boost serialization \ref notes6 "[6]". This byte sequence represents a request to call a procedure with those arguments). Using the communication routines of libt2n the request is sent to the server. The server procedure stubs de-serialize the request and call the corresponding server procedure using the reconstructed arguments. The result of the server procedure is serialized and sent back to the client. Finally the result is de-serialized on client side again and returned to the caller. \par The input for the code generator is standard C++ code \ref notes4 "[4]" @@ -44,6 +39,9 @@ \subsection Usage Take a look at the \ref example. + \subsection Homepage + The libt2n homepage with downloads and further information can be found at