Lua的epoll模块
更多细节,请查看sample.lua
API:
设置一个文件描述符非阻塞。
epoll#epfderrepollcreate)epfd,err=epoll.create()
创建一个 epoll 文件描述符。
epoll#okerrepollregisterepfdfdeventmask)ok,err=epoll.register(epfd,fd,eventmask)
把目标文件描述符 fd 注册到由 epfd 引用的 epoll 实例上并把相应的事件 event 与内部的 fd 相链接。
epoll#okerrepollmodifyepfdfdeventmask)ok,err=epoll.modify(epfd,fd,eventmask)
更改目标文件描述符 fd 相关联的事件 event 。
epoll#okerrepollunregisterepfdfd)ok,err=epoll.unregister(epfd,fd)
从由 epfd 引用的 epoll 实例中删除目标文件描述符 fd 。
epoll#eventserrepollwaitepfdtimeoutmax_events)events,err=epoll.wait(epfd,timeout,max_events)
在一个 epoll 文件描述符上等待 I/O 事件。
epoll#okerrepollcloseepfd)ok,err=epoll.close(epfd)
关闭一个 epoll 文件描述符。