Continuation Queues: Embeddable asynchronous networking, threading, and notification framework for Lua on Unix.

$ luarocks install cqueues

cqueues is a type of event loop for Lua, except it's not a classic event loop. It doesn't use callbacks—neither as part of the API nor internally—but instead you communicate with an event controller by the yielding and resumption of Lua coroutines using objects that adhere to a simple interface.

cqueues are also stackable. Each instantiated cqueue is a pollable object which can be polled from another cqueue, or another event loop system entirely. The design is meant to be unintrusive, composable, and embeddable within existing applications—such as Apache or Nginx—or used standalone. It maintains no global state and never blocks your thread of execution.

cqueues includes a sockets library with DNS, buffering, end-of-line translation, SSL/TLS, and descriptor passing support builtin. Domain querying, connection establishment, and SSL negotiation are handled transparently as part of a state machine entered with every I/O operation, so users can read and write immediately upon instantiating the object, as if opening a regular file.

cqueues also includes modules for handling signals, threads, and file change notifications using native kernel facilities—such as signalfd on Linux, or Solaris PORT_SOURCE_FILE for file events—and accessible through easy to use interfaces which abstract the different kernel facilities.

Additional modules include a light-weight user-defined event system using the condition variable pattern, and a comprehensive interface for DNS querying.


20190813.53-099 days ago1,048 downloads
20190813.52-099 days ago416 downloads
20190813.51-099 days ago26,961 downloads
20190731.53-0112 days ago233 downloads
20190731.52-0112 days ago74 downloads
20190731.51-0112 days ago3,802 downloads
20171014.53-02 years ago5,463 downloads
20171014.52-02 years ago2,073 downloads
20171014.51-02 years ago60,677 downloads
20161215.53-02 years ago1,441 downloads
20161215.52-02 years ago953 downloads
20161215.51-02 years ago2,944 downloads
20161214.53-02 years ago72 downloads
20161214.52-02 years ago59 downloads
20161214.51-02 years ago231 downloads
20161018.53-03 years ago341 downloads
20161018.52-03 years ago274 downloads
20161018.51-03 years ago1,088 downloads
20160812.53-13 years ago55 downloads
20160812.53-03 years ago191 downloads
20160812.52-13 years ago69 downloads
20160812.52-03 years ago261 downloads
20160812.51-13 years ago111 downloads
20160812.51-03 years ago616 downloads
20160808.53-03 years ago20 downloads
20160808.52-03 years ago20 downloads
20160808.51-03 years ago29 downloads
20160316.53-03 years ago492 downloads
20160316.52-03 years ago466 downloads
20160316.51-03 years ago1,497 downloads
20150907.53-04 years ago322 downloads
20150907.52-04 years ago357 downloads
20150907.51-04 years ago1,143 downloads
20150119.53-14 years ago25 downloads
20150119.53-04 years ago9 downloads
20150119.52-14 years ago29 downloads
20150119.52-04 years ago174 downloads
20150119.51-14 years ago79 downloads
20150119.51-04 years ago129 downloads
scm-53dev4 years ago68 downloads
scm-52dev4 years ago3 downloads
scm-51dev4 years ago10 downloads


lua == 5.3

Dependency for

circle, cqueues-pgsql, http, l, lacord, lredis, lua-irc, prosody, prosody, quest, telegram, wch, web-driver, xcq-subprocess