public
Description: Lua-RPC for Lua 5.1.x
Homepage:
Clone URL: git://github.com/jsnyder/luarpc.git
luarpc /
name age message
file LICENSE Fri May 01 15:33:39 -0700 2009 Initial hacking on LuaRPC. Not functional. [jsnyder]
file Makefile Thu Jun 18 16:59:16 -0700 2009 Many features, mostly related to endianness han... [jsnyder]
file PROTOCOL Mon Jun 08 11:16:41 -0700 2009 Update notes about status. [jsnyder]
file README Thu May 28 20:21:08 -0700 2009 Add note about Linux /dev/ptmx, /dev/pts/* not ... [jsnyder]
file TODO Mon Jun 08 11:16:41 -0700 2009 Update notes about status. [jsnyder]
file cexcept.h Fri May 29 13:30:14 -0700 2009 Swap out exception implementation for more comm... [jsnyder]
file config.h Thu Jun 18 16:59:16 -0700 2009 Many features, mostly related to endianness han... [jsnyder]
directory logo/ Fri May 01 15:33:39 -0700 2009 Initial hacking on LuaRPC. Not functional. [jsnyder]
file luarpc.c Thu Jun 18 16:59:16 -0700 2009 Many features, mostly related to endianness han... [jsnyder]
file luarpc.h Fri May 01 15:33:39 -0700 2009 Initial hacking on LuaRPC. Not functional. [jsnyder]
file luarpc_fifo.c Tue May 26 12:43:23 -0700 2009 Move port checking code to transport side. [jsnyder]
file luarpc_rpc.h Thu Jun 18 16:59:16 -0700 2009 Many features, mostly related to endianness han... [jsnyder]
file luarpc_serial.c Thu Jun 18 16:59:16 -0700 2009 Many features, mostly related to endianness han... [jsnyder]
file luarpc_socket.c Mon Jun 01 11:29:43 -0700 2009 Very simple working RPC. TODOs: - redirect std... [jsnyder]
file showtable.lua Thu Jun 11 08:13:08 -0700 2009 Include a function to show table contents recur... [jsnyder]
file test-client.lua Thu Jun 18 16:59:16 -0700 2009 Many features, mostly related to endianness han... [jsnyder]
file test-server.lua Sun Jun 14 08:58:53 -0700 2009 Tests are a little better. [jsnyder]
README
Lua-RPC is a Lua library to allow simple remote procedure calling. That is, a
Lua script running on one machine can call functions from a script that is
running on another machine.

This is version 0.2, a pre-alpha release.

The goal of this project is to create an RPC module for Lua that is both
simple and light on resource usage. In addition, the module intends to
maintain separation between the actual RPC protocol and the underlying
mechanism that transmits bytes between client and server. This is done in
order to enable the use of the protocol over a variety of link types including
sockets and RS-232.

BUILDING
--------

In order to build the module, just type:

make

This should succeed if you have Lua already installed on a Linux or Mac OS X
system. If it does not succeed, feel free to contact me at
jbsnyder@fanplastic.org.

NOTE: using psuedo-terminals on Linux still has issues.

As of May 28, 2009, serial and socket "transport" modes should be functional.
One can switch between these by selectively commenting/uncommenting lines in
config.h as below:

/* #define LUARPC_ENABLE_SOCKET */
#define LUARPC_ENABLE_SERIAL

This builds the module in serial mode. At this time, one cannot build with
multiple modes enabled (this may be added in the future).


USAGE
-----

The result of the build is a .so file that within a Lua script, one should be
able to simply do a:

require("luarpc")

with the module in the Lua path, and use the module as suggested in
test-client.lua and test-server.lua.

Ensure that your scripts reflect the type of enabled "transport" in use.


CREDITS
-------
 
Russell L. Smith (2001):
Original work and project: http://www.q12.org/lua

James Snyder (2009+):
- Port to Lua 5.x
- "transport" abstraction