-
Notifications
You must be signed in to change notification settings - Fork 7
Home
Hinge is an evented library/framework written in Common Lisp, driven by libev and with liberal API inspiration taken from Node.js.
It aims to provide a pleasant way to write event-driven code for I/O or otherwise in Common Lisp with the advantages provided by systems like Node.js, but with the support of the maturity, stability, performance and ecosystem of Common Lisp.
If you have any questions, comments, concerns, complaints or bugs please file issues! Or, if you have code with your words, pull requests!
There is a #hinge
IRC channel on Freenode where I hang out.
Feel free to drop by and talk to me in person.
As introduced and described in the Node.js docs. Event emitters allow you to emit an event named by a string with some parameters and have a chain of callbacks invoked that are expecting that event with the parameters.
The events of hinge are sent and delivered asyncronously so that a long chain of event subscribers will not block the event machine execution.
Modeled after the Node.js net.* APIs, provides event emitting classes that abstract network communication to a set of emitted "data" events and a write scheduler that allows IO to be deferred until the socket is ready.
Wrapped around the implementations of the TCP Socket and Server classes allow the delivery of ZeroMQ messages as emitted "data" events and allows the handling of blocking ZeroMQ socket sends with a callback.
Allows the submission of work with bound callbacks for the successfull or failed execution of a set of forms in a thead pool. The result or error will be delivered asynchronously to the thread controlling the event loop while the work will be evaluated outside of it.
- Examples
- Current README
- Hinge Classes
Should NOT in any way be considered "stable".
Initial "Release" version. This was the first version with a working HTTP server with somewhat solid internals. Intended to serve as a first stepping stone to demonstrate the project functionality and for any sort of contributions.