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, ack-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 StartupEvents, RequestDecoder, ResponseEncoder, and event- publisher fn.

The application-side wiring (the Application itself, its decoder and encoder, any event publisher) lives in the application’s own crate — see the examples under crates/examples/.

Modules§

ack_policy
Operator-facing ack policy.
client_auth
The client listener’s verdict on a challenge response.
layout
Where each pipeline thread runs and how it waits there: the --cores layout.
replication
Replication — synchronous input-stream streaming from primary to replica.
server
Server orchestrator — binds the accept loop, pipeline threads, and reader.

Structs§

StartupEvents
Events the runtime journals as a node takes up the primary role, before it serves its first client.

Constants§

MAX_REQUEST_BODY
Bound on one request body — what an application’s RequestDecoder is handed after the runtime has read the tag and the request’s ID. Public so an application can check its widest request against it at compile time; see the re-export in the crate root. The wire protocol’s, the bound a client’s request framing enforces, so the two sides agree on it by construction.
MAX_RESPONSE_BODY
Bound on one application response body — what a ResponseEncoder may write for a single report or query response.