Levee
Levee is a tool to succinctly and quickly create high performance network appliances with Lua.
local levee = require("levee")
local h = levee.Hub()
local err, serve = h.stream:listen(9000)
for conn in serve do
h:spawn(function()
while true do
local err = conn:write("Hello World\n")
if err then break end
h:sleep(1000)
end
conn:close()
end)
end
Straight Forward Concurrency
Levee leverages Lua's native coroutines to allow you to create Event-based Asynchronous services with straight forward, linear code; instead of nested callbacks.
Performance
Levee is based on LuaJIT which provides a stellar JIT for Lua code and an excellent FFI for binding to C libraries. For example Levee comes bundled with Siphon, a library of highly optimized parsers for common protocol and data formats.
Build Standalone Static Binaries
Once your service is ready to deploy, Levee provides tooling to compile your project to a standalone, static binary.