pub struct OutboundRequest {
pub bytes: Vec<u8>,
pub req_id: MsgId,
pub responder: Sender<OutboundEnvelope>,
pub span: Span,
pub ty: DmsgType,
pub target_peer_idx: Option<u32>,
}Expand description
Envelope sent into the server driver.
The driver writes bytes to the transport then awaits a
response, which it forwards as an OutboundEnvelope on
responder along with req_id.
span carries the originating client request’s
tracing::Span across the mpsc channel boundary so the
receiving task’s work nests under the originating client
span when distributed tracing is enabled. The default value
is tracing::Span::none, which has no overhead when no
subscriber is installed.
ty selects the dnode message-type header emitted on the
peer plane. Data-plane callers leave it at
DmsgType::Req; the gossip task uses
DmsgType::GossipSyn / DmsgType::GossipShutdown for
fire-and-forget control frames whose responder is never
signalled.
Fields§
§bytes: Vec<u8>Wire bytes already encoded by the dispatcher.
req_id: MsgIdRequest id for response tagging.
responder: Sender<OutboundEnvelope>Channel the driver pushes the parsed response onto.
span: SpanOriginating client request span; entered by the receiver to nest backend / peer work under the request tree.
ty: DmsgTypednode message-type header emitted by the peer driver.
Defaults to DmsgType::Req for data-plane requests.
target_peer_idx: Option<u32>Index of the target peer the dispatcher is forwarding the
request to. The local backend driver and dnode-peer driver
stamp this onto the OutboundEnvelope they produce so
the reply coalescer can identify the responding replica.
None is used for single-target paths where the responder
already implies the source.