pub struct SessionRequest {
pub duration: Option<Duration>,
pub interval: Duration,
pub length: u32,
pub received_stats: ReceivedStats,
pub stamp_at: StampAt,
pub clock: Clock,
pub dscp: u8,
pub server_fill: Option<String>,
pub run_mode: RunMode,
}Expand description
Requested IRTT protocol and session semantics, reusable across endpoints.
Fields§
§duration: Option<Duration>Requested run duration.
Some(duration) requests a finite test and must be greater than zero.
None requests continuous mode and is encoded on the wire as a zero
duration. Use RunMode::NoTest when the caller wants negotiation only
without sending probes.
The managed driver stops sending after the negotiated duration. Low-level adapters leave run duration to the caller.
interval: DurationRequested spacing between probe sends.
The interval is encoded as nanoseconds in the open request and must be greater than zero. The server may return a different interval depending on the negotiated policy and server restrictions.
The managed driver uses the negotiated interval for cadence. Low-level adapters send whenever called.
length: u32Requested echo packet payload length, in bytes.
The value must fit within the UDP payload limit after protocol overhead. A server may reduce the requested length during negotiation.
received_stats: ReceivedStatsRequested server receive-statistics fields in echo replies.
stamp_at: StampAtRequested timestamp placement in echo replies.
clock: ClockRequested server clock sources for timestamp fields.
Clock::Unspecified is the wire default meaning “no clock tag was
sent” and is not a client mode; opening a session with it is rejected.
Request Clock::Wall, Clock::Monotonic, or Clock::Both.
dscp: u8Requested DSCP codepoint.
This is the six-bit DSCP value, not the full traffic-class byte, and
must be less than or equal to MAX_DSCP_CODEPOINT.
server_fill: Option<String>Optional server payload fill request.
None leaves server fill behavior unspecified. Some(value) requests
a non-empty server fill mode/value and must not exceed
MAX_SERVER_FILL_BYTES bytes when UTF-8 encoded.
run_mode: RunModeWhether opening the session should start a probe test or perform a negotiation-only no-test exchange.