Skip to main content

Crate melin_server_runtime

Crate melin_server_runtime 

Source
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§

ControlEvent
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.