EMILUA(3em)
π EMILUA(3em) π
okay so bestie, welcome to the Emilua reference manual page β the Lua execution engine one, and yes this is a full vibe check for unix.seqpacket.acceptor. We are gonna go through every tiny detail because nothing is getting skipped, periodt. π«Άβ¨
πΈ NAME πΈ
Emilua - Lua execution engine. Short, iconic, done. π
β¨ SYNOPSIS β¨
Hereβs the group-chat screenshot of how it starts, no cap:
local a = unix.seqpacket.acceptor.new()
a:open()
a:bind(filesystem.path.new('/tmp/9Lq7BNBnBycd6nxy.socket'))
a:listen()
while true do
local s = a:accept()
spawn(function()
my_client_handler(s)
end)
end
π₯ FUNCTIONS π₯
π« new() β unix.seqpacket.acceptor
Two overloads, both valid, both serving:
new() (1)
new(fd: file_descriptor) (2)
- Default constructor. The factory-fresh one.
- Converts a file descriptor into an
unix.seqpacket.acceptorobject. Glow-up from raw fd, lowkey.
π open(self)
Open the acceptor. Sheβs awake now. β¨
π
set_option(self, opt: string, val)
Set an option on the acceptor.
Currently available options are:
"enable_connection_aborted"β check the Boost.Asio documentation athttps://www.boost.org/doc/libs/1_72_0/doc/html/boost_asio/reference/socket_base/enable_connection_aborted.html."debug"β check the Boost.Asio documentation athttps://www.boost.org/doc/libs/1_72_0/doc/html/boost_asio/reference/socket_base/debug.html.
π¦ get_option(self, opt: string) β value
Get an option from the acceptor.
Currently available options are:
"enable_connection_aborted"β check the Boost.Asio documentation athttps://www.boost.org/doc/libs/1_72_0/doc/html/boost_asio/reference/socket_base/enable_connection_aborted.html."debug"β check the Boost.Asio documentation athttps://www.boost.org/doc/libs/1_72_0/doc/html/boost_asio/reference/socket_base/debug.html.
π bind(self, pathname: filesystem.path)
Bind the acceptor to the given local endpoint. Slay, sheβs anchored. β
β listen(self [, backlog: integer])
Place the acceptor into the state where it will listen for new connections.
backlog is the maximum length of the queue of pending connections. If not provided, an implementation defined maximum length will be used.
π accept(self) β unix.seqpacket.socket
Initiate an accept operation and blocks current fiber until it completes or errs. Main character energy, fr fr.
π§ wait(self, wait_type: read"|"write"|"error")"
Wait for the socket to become ready to read, ready to write, or to have pending error conditions.
In short, the reactor model is exposed on top of the proactor model. A little meta, iykyk.
Important: You shouldnβt be using reactor-style operations on Emilua. However if youβre trying to compete against systemD (or just xinetd) implementing a service manager employing socket activation then youβll need the readiness event to trigger the managed service startup sequence. π
wait_type can be one of the following:
"read"β Wait for a socket to become ready to read."write"β Wait for a socket to become ready to write."error"β Wait for a socket to have error conditions pending.
π close(self)
Close the acceptor.
Forward the call to the function with the same name in Boost.Asio at https://www.boost.org/doc/libs/1_70_0/doc/html/boost_asio/reference/basic_socket_acceptor/close/overload2.html:
Any asynchronous accept operations will be cancelled immediately. A subsequent call to open() is required before the acceptor can again be used to again perform socket accept operations.
π cancel(self)
Cancel all asynchronous operations associated with the acceptor.
Forward the call to the function with the same name in Boost.Asio at https://www.boost.org/doc/libs/1_70_0/doc/html/boost_asio/reference/basic_socket_acceptor/cancel/overload2.html:
This function causes all outstanding asynchronous connect, send and receive operations to finish immediately, and the handlers for cancelled operations will be passed the boost::asio::error::operation_aborted error.
πΈ assign(self, fd: file_descriptor)
Assign an existing native acceptor to self. Cute.
π release(self) β file_descriptor
Release ownership of the native descriptor implementation.
Forward the call to the function with the same name in Boost.Asio at https://www.boost.org/doc/libs/1_81_0/doc/html/boost_asio/reference/basic_socket_acceptor/release/overload2.html:
This function causes all outstanding asynchronous accept operations to finish immediately, and the handlers for cancelled operations will be passed the boost::asio::error::operation_aborted error. Ownership of the native acceptor is then transferred to the caller.
π PROPERTIES π
is_open: boolean β Whether the acceptor is open.local_path: filesystem.path β The local address of the acceptor.
source/version: Emilua 0.12.1-nixpkgs1 Β· date: 1980-01-01 Β· page: EMILUA(3em) Β· bye bestie, ily πβ¨π
π¦ where this page comes from
- nixos 26.05: emilua 0.12.1
- nixpkgs unstable: emilua 0.12.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms