pub enum ServiceEvent {
Started {
service: String,
endpoint: String,
rank: u8,
},
ConnectionOpened {
conn: u64,
app: String,
},
ConnectionRejected {
app: String,
reason: String,
},
PeerRejected {
reason: String,
},
TableFull {
limit: usize,
reserved: usize,
pre_handshake: usize,
attached: usize,
peer_pid: Option<u32>,
},
Denied {
conn: u64,
app: String,
method: String,
},
HandoffRequested {
by_role: String,
by_rank: u8,
},
FrameTooLarge {
conn: u64,
method: String,
kind: &'static str,
limit: usize,
},
Released,
}Expand description
Content-free lifecycle events for the host’s journal.
Variants§
Started
ConnectionOpened
ConnectionRejected
PeerRejected
A connection was closed unread because the OS reported its peer is not the current
user (or could not be identified). reason is the typed peer error: a uid or pid,
never request content.
TableFull
The Unix connection table (HostOptions::max_connections) is full and a connection was
refused. Emitted once per fill: on the first refusal after the table became full, and again
only after the live count has dropped below the limit and the table has refilled. Counts and
a pid only, never request content, so a journal can say what was holding the table without
reading anything from it.
limitisHostOptions::max_connectionsandreservedisHostOptions::reserved_slots.pre_handshakeis the admitted connections (reserved slots included) that have not completedhello: a table full of these is stalled clients, not load.attachedis the live connections that completedhello.peer_pidis the process id the kernel reports for the refused peer, when it does.
Denied
HandoffRequested
FrameTooLarge
A handler’s result (kind “response”) or an emitted event (kind “event”) was larger
than the frame limit and was not sent. For a response the client received the typed
ERROR_RESPONSE_TOO_LARGE error instead.