Expand description
Application-agnostic LMAX-pipeline server runtime.
Groups the application-agnostic parts of the Melin server: the
accept loop, frame reader, durability-policy wiring, admin
endpoint, replication, and the optional DPDK transport. Generic
over A: Application — the binary supplies a concrete app via
server::run (or [server::run_dpdk] under feature = "dpdk") along with caller-supplied
AppFactory, RequestDecoder, ResponseEncoder, and event-
publisher fn.
The trading-side wiring (ServerApp, ExchangeRequestDecoder,
ExchangeResponseEncoder, market-data firehose) lives in the
separate melin-server crate.
Modules§
- admin
- Operator admin endpoint — single TCP listener for all server-side commands an exchange operator may send.
- durability_
policy - Operator-facing durability mode.
- process
- Process-level setup for latency-sensitive servers: signal handling and memory locking. Generic OS plumbing — no application coupling.
- reader
- io_uring-based multiplexed reader with multishot RECV.
- replication
- Replication — synchronous input-stream streaming from primary to replica.
- response
- io_uring-based response stage — routes matching output to connections via
IORING_OP_SEND. - server
- Server orchestrator — binds the accept loop, pipeline threads, and reader.
Enums§
- Control
Event - Control-plane event the accept loop and response stage exchange. Transport-agnostic — the payload is a socket fd + writer, not an app event — so both build modes refer to the same type.