Multi-transport RPC client/server library
C Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
include
lib Add client option to set timeouts Mar 11, 2013
m4
misc
pkgconfig
tests
xdl-compiler
.gitignore
AUTHORS
COPYING
INSTALL
Makefile.am
NEWS
README Update README file Apr 6, 2012
TODO
autogen.sh
configure.ac
win32-build.sh
xdl.syntax

README

Multi-transport RPC client/server library
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Libxr is a library that allows for rapid implementation of RPC clients and
servers in C.

Libxr features:
  - Multiple RPC transports. (XML-RPC and JSON-RPC)
  - RPC interface description language (XDL)
  - Persistent connections over HTTP/1.1
  - Server "session" support for non-persistent connections
  - Multi-platform support (Linux, Windows, ...)
  - TLSv1 using GNUTLS

Libxr has two parts, library itself and RPC interface description language
compiler (XDL compiler). Thanks to the XDL compiler, you can create and
implement complex RPC interfaces in a very short time. Here is an obligatory
"Hello world!" example XDL file:

  namespace X;
  servlet Test {
    boolean sayHello()
    <%
      printf("Hello World!");
      return TRUE;
    %>
  }

Whenever you call XTest.sayHello() RPC method, "Hello World!" will be printed to
the server's standard output.