|
The libuevent library is a small event library in the style of the venerable Xt(3) event loop.
Basically an event context is created,and handlers for timeounts and stream events can be registered with this context.
After initial setup, the typical application will enter the event loop that will only return at program termination.
The typical application will do the following steps 1. Create the event context with lueCtxtCreate() 2. Register initial callbacks with lueAddInput, lueAddOutput and lueAddTimer 3. Enter the event loop
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
Add a handler on a stream. The handler will sustain itself GC wise. Use object:clear() to unregister the 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.
Cancel a callback registration. Renders the object ready for GC.
Obtain the handler function from a callback registration.
Use make:
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