pub enum TimestampAllowance {
None,
Single,
Dual,
}Expand description
How many timestamps a server is willing to provide.
This is server policy, deliberately a separate type from the wire
StampAt a session requests and negotiates: one
describes what a client asked for, the other what this server will hand out.
Negotiation reduces the requested StampAt accordingly, and only it — the
requested Clock is never rewritten, because the clean
evidence records a timestamp allowance restricting timestamp placement, not
the clock domains it is read from.
See ServerConfig::with_timestamp_allowance for the mapping.
Variants§
None
No timestamps at all: every request is negotiated to
StampAt::None.
Single
At most one timestamp instant. A request for both receive and send
becomes StampAt::Midpoint; every
placement that already names a single instant is left alone.
This restricts placement, not field count: the reply still carries one
field per negotiated clock domain, so a session on
Clock::Both receives both a wall and a
monotonic midpoint field.
Dual
Every requested placement is honored. This is the default, and the behavior of a server that configures nothing.
Trait Implementations§
Source§impl Clone for TimestampAllowance
impl Clone for TimestampAllowance
Source§fn clone(&self) -> TimestampAllowance
fn clone(&self) -> TimestampAllowance
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more