DEPRECATED
Development of lua-evm has been discontinued.
Please use lua-epoll or lua-kqueue, which are devided by each event mechanism from lua-evm.
kqueue/epoll event module.
NOTE: Do not use this module. this module is under heavy development.
luarocks install evm --server=https://luarocks.org/dev
the functions/methods are return the error object created by https://github.com/mah0x211/lua-errno module.
creates an evm
object.
Parameters
bufsize:int
: event buffer size. (default 128
)
Returns
m:evm
:evm
object on success, ornil
on failure.err:error
: error object.
NOTE: bufsize will be automatically resized to larger than specified size if need more buffer allocation.
returns the default evm
object.
Parameters and Returns are same as evm.new function.
renew(recreate) the internal event descriptor.
Returns
ok:boolean
: true on success, or false on failure.err:error
: error object.
creates an empty event object.
Returns
ev:evm.event
: event object.
creates the specified number of empty event objects.
Parameters
nevt:int
: number of new event. (default 1
)
Returns
evs:evm.event[]
: list of empty event object.
wait until event occurring.
Parameters
msec:integer
: wait until specified timeout milliseconds.default: -1(never-timeout)
Returns
nevt:integer
: number of the occurred events.err:error
: error object.
get the event object in which the event occurred.
Returns
ev:evm.*
: event object (evm.readable
,evm.writable
,evm.timer
orevm.signal
) ornil
.ctx:any
: context object.disabled:boolean
: iftrue
, event object is disabled.
empty event object evm.event
can be use as following event object;
evm.readable
evm.writable
evm.timer
evm.signal
use the event object as a timer event object. (evm.timer
)
Parameters
timeout:integer
: timeout milliseconds.ctx:any
: context object.oneshot:boolean
: automatically unregister this event when event occurred.
Returns
ok:boolean
:true
on success, orfalse
on failure.err:error
: error object.
use the event object as a signal event object. (evm.signal
)
Parameters
signo:integer
: signal number.ctx:any
: context object.oneshot:boolean
: automatically unregister this event when event occurred.
Returns
ok:boolean
:true
on success, orfalse
on failure.err:error
: error object.
use the event object as a readable event object. (evm.readable
)
Parameters
fd:integer
: file descriptor.ctx:any
: context object.oneshot:boolean
: automatically unregister this event when event occurred.edge:boolean
: iftrue
, useedge-trigger
.default: level-trigger
.
Returns
ok:boolean
:true
on success, orfalse
on failure.err:error
: error object.
use the event object as a writable event object. (evm.writable
)
Parameters
fd:integer
: file descriptor.ctx:any
: context object.oneshot:boolean
: automatically unregister this event when event occurred.edge:boolean
: iftrue
, useedge-trigger
.default: level-trigger
.
Returns
ok:boolean
:true
on success, orfalse
on failure.err:error
: error object.
revert to an empty event object.
Returns
ev:evm.event
: empty-event object.
attach the event object ev
to the event monitor m
.
Parameters
m:evm
: event monitor object.
Returns
ok:boolean
:true
on success, orfalse
on failure.err:error
: error object.
get an event ident.
Returns
id
timeout:integer
ifevm.timer
object.signo:integer
ifevm.signal
object.fd:integer
ifevm.readable
orevm.writable
object.
get an event type.
Returns
asa:string
:astimer
,assignal
,asreadable
oraswritable
.
get the context object associated with the event object, and if argument passed then replace that object to passed argument.
Parameters
ctx:any
: context object.
Returns
ctx:any
: current context object.
unregister this event.
register this event object to the attached event monitor.
Returns
ok:boolean
:true
on success, orfalse
on failure.err:error
: error object.