Document lua api

This commit is contained in:
fm
2012-03-17 09:15:07 +01:00
parent 285ee70433
commit 812007f5bc
+32 -1
View File
@@ -20,6 +20,37 @@ The typical application will do the following steps
Lua binding
-----------
A lua binding is available that should mix well with luasocket and luaposix.
Time resolutions are in milli second integers in order to support integer-only
embedded environments
### function luevent.addFileIO(fdesc, handler, mode)
Add a handler on a stream. The handler will sustain itself GC wise.
Use *object*:clear() to unregister the handler
* fdesc The posix file descriptor "small integer".
Use the ":getfd()" method on a "normal" lua stream or socket to obtain fdesc.
* handler A function object. The handler object is supplied as the first parameter when called.
* mode Optional. Input ("r") or output ("w") event. Default is input
* return A new filehandler object
### function luevent.addTimer(msecs, handler)
Create a new timer object. Implicitly cleared when handler is called.
Typical usage:
local hdl
hdl = luevent.addTimer(50, function() hdl = nil ..... end)
......
if hdl then hdl:clear() hdl = nil end
Here *hdl* is used to keep track of whether the timer is active.
* msecs The number of milliseconds until the timer expires
* handler A function object. The handler object is supplied as the first parameter when called.
* return A new timer object
### function object:clear()
Cancel a callback registration. Renders the object ready for GC.
### function object:handler()
Obtain the handler function from a callback registration.
Building
--------
@@ -35,5 +66,5 @@ Is purely manual, but would be something along the lines of:
sudo install -m 444 libuevent.so.1 /usr/lib/libuevent.so.1
sudo install -m 444 luevent.so /usr/lib/lua/5.1/luevent.so
<!-- vim: set syntax=mkd textwidth=79: -->
<!-- vim: set syntax=mkd textwidth=79 nofoldenable: -->