#[non_exhaustive]pub enum Effect {
ForwardedVerbatim,
Replaced {
bytes: usize,
},
Elided {
renumbered_successor: bool,
},
Queued {
release_at: Instant,
},
Truncated {
forwarded: usize,
code: u64,
code_defined: bool,
},
StreamReset {
code: u64,
code_defined: bool,
},
StreamRejected {
code: u64,
},
SessionClosing {
code: u32,
},
Dropped,
}Expand description
What an executed action actually did.
Unlike ProxyEvent this derives PartialEq and Eq: destructure
the event, then assert_eq! on what comes out. See
ProxyEvent’s own rustdoc for the shape.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ForwardedVerbatim
The original bytes were forwarded.
Replaced
Replacement bytes were forwarded.
Elided
An object was removed. renumbered_successor is true when the next
object on the stream has to be re-encoded against the one now in
front of it: its leading ID varint rewritten on a subgroup stream of
drafts 14-19, its whole framing re-encoded on a fetch stream of
drafts 15-19.
It says a fix-up is owed, not that the bytes moved. A survivor that already stated everything it needed comes through unchanged, and the debt is settled all the same.
Queued
The unit was queued for later release.
Truncated
A prefix was written and the stream reset.
forwarded counts bytes handed to the transport, not bytes the
peer observed. quinn clears the peer’s receive assembler when the
reset is processed, so the peer may observe fewer — never more.
Fields
StreamReset
The destination stream was reset.
Fields
StreamRejected
The stream was never forwarded.
SessionClosing
A session close was requested.
Dropped
The unit was not forwarded.