Struct QuicConnectionClosed
pub struct QuicConnectionClosed {Show 17 fields
pub timestamp_ns: u64,
pub flow_id: u64,
pub connection_id: u64,
pub reason: u32,
pub error_code: u64,
pub handshake_completed: bool,
pub bytes_sent: u64,
pub bytes_received: u64,
pub datagrams_sent: u64,
pub datagrams_received: u64,
pub rtt_ns: u64,
pub congestion_window: u64,
pub lost_packets: u64,
pub lost_bytes: u64,
pub congestion_events: u64,
pub send_failures: u64,
pub oversized_sends: u64,
}Available on crate features
quic and std only.Expand description
Snapshot at the first terminal outcome, before the closing/draining period. Byte totals are UDP payload bytes, not application bytes.
Fields§
§timestamp_ns: u64§flow_id: u64§connection_id: u64§reason: u320 local close, 1 peer application close, 2 peer transport close, 3 transport error, 4 reset, 5 timeout, 6 version mismatch, 7 exhausted connection IDs, 8 driver/state dropped, 9 endpoint in use.
error_code: u64Application or transport close code for reasons 1–3, zero otherwise. Application codes retain their protocol-specific meaning (for example HTTP/3).
handshake_completed: bool§bytes_sent: u64§bytes_received: u64§datagrams_sent: u64§datagrams_received: u64§rtt_ns: u64§congestion_window: u64§lost_packets: u64§lost_bytes: u64§congestion_events: u64§send_failures: u64§oversized_sends: u64Trait Implementations§
§impl TraceEvent for QuicConnectionClosed
impl TraceEvent for QuicConnectionClosed
§fn event_name() -> &'static str
fn event_name() -> &'static str
The event type name (used in schema registration).
§fn field_defs() -> Vec<FieldDef>
fn field_defs() -> Vec<FieldDef>
Field definitions for schema registration.
The timestamp is NOT included here — it is encoded in the event frame
header.
§fn schema_entry() -> SchemaEntry
fn schema_entry() -> SchemaEntry
Build a SchemaEntry for this event type.
§fn encode_fields<W>(&self, enc: &mut EventEncoder<'_, W>) -> Result<(), Error>where
W: Write,
fn encode_fields<W>(&self, enc: &mut EventEncoder<'_, W>) -> Result<(), Error>where
W: Write,
Encode this event’s non-timestamp fields into the encoder.
Auto Trait Implementations§
impl Freeze for QuicConnectionClosed
impl RefUnwindSafe for QuicConnectionClosed
impl Send for QuicConnectionClosed
impl Sync for QuicConnectionClosed
impl Unpin for QuicConnectionClosed
impl UnsafeUnpin for QuicConnectionClosed
impl UnwindSafe for QuicConnectionClosed
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Encodable for Twhere
T: TraceEvent,
impl<T> Encodable for Twhere
T: TraceEvent,
§fn encode(&self, encoder: &mut ThreadLocalEncoder<'_>)
fn encode(&self, encoder: &mut ThreadLocalEncoder<'_>)
Encode this event into the thread-local trace buffer. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more