Struct IoForwardBridgeClosed
pub struct IoForwardBridgeClosed {
pub timestamp_ns: u64,
pub reason: BridgeCloseReason,
pub age_ms: u64,
pub bytes_l_to_r: u64,
pub bytes_r_to_l: u64,
pub error_kind: Option<u32>,
pub error_raw_os: Option<i64>,
}Available on crate features
net and dial9 only.Expand description
Bridge lifecycle: the copy loop has ended.
Fields§
§timestamp_ns: u64§reason: BridgeCloseReasonStructured close reason.
age_ms: u64Wall-clock age of the bridge at close time, in milliseconds.
bytes_l_to_r: u64Bytes copied left → right (typically client → server).
bytes_r_to_l: u64Bytes copied right → left (typically server → client).
error_kind: Option<u32>Encoded std::io::ErrorKind per
crate::dial9::io_error_kind_code, if a fatal I/O error
closed the bridge.
error_raw_os: Option<i64>Raw OS error code, if available.
Trait Implementations§
§impl TraceEvent for IoForwardBridgeClosed
impl TraceEvent for IoForwardBridgeClosed
§type Ref<'a> = IoForwardBridgeClosedRef<'a>
type Ref<'a> = IoForwardBridgeClosedRef<'a>
Decoded form of this event, potentially borrowing from the input buffer.
§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.
When
has_timestamp() is true, the timestamp is NOT included here —
it is encoded in the event frame header.§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.
§fn decode<'a>(
timestamp_ns: Option<u64>,
fields: &[FieldValueRef<'a>],
field_defs: &[FieldDef],
) -> Option<<IoForwardBridgeClosed as TraceEvent>::Ref<'a>>
fn decode<'a>( timestamp_ns: Option<u64>, fields: &[FieldValueRef<'a>], field_defs: &[FieldDef], ) -> Option<<IoForwardBridgeClosed as TraceEvent>::Ref<'a>>
Decode from field values using field definitions for name resolution.
timestamp_ns is the absolute timestamp from the event header (if present).§fn has_timestamp() -> bool
fn has_timestamp() -> bool
Whether this event type carries a packed timestamp in the event header.
§fn schema_entry() -> SchemaEntry
fn schema_entry() -> SchemaEntry
Build a SchemaEntry for this event type.
Auto Trait Implementations§
impl Freeze for IoForwardBridgeClosed
impl RefUnwindSafe for IoForwardBridgeClosed
impl Send for IoForwardBridgeClosed
impl Sync for IoForwardBridgeClosed
impl Unpin for IoForwardBridgeClosed
impl UnsafeUnpin for IoForwardBridgeClosed
impl UnwindSafe for IoForwardBridgeClosed
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<T> Encodable for Twhere
T: TraceEvent + 'static,
impl<T> Encodable for Twhere
T: TraceEvent + 'static,
§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§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
§impl<V, F> ValueFormatter<&V> for F
impl<V, F> ValueFormatter<&V> for F
§fn format_value(writer: impl ValueWriter, value: &&V)
fn format_value(writer: impl ValueWriter, value: &&V)
Write
value to writer§impl<V, F> ValueFormatter<Arc<V>> for F
impl<V, F> ValueFormatter<Arc<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Arc<V>)
fn format_value(writer: impl ValueWriter, value: &Arc<V>)
Write
value to writer§impl<V, F> ValueFormatter<Box<V>> for F
impl<V, F> ValueFormatter<Box<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Box<V>)
fn format_value(writer: impl ValueWriter, value: &Box<V>)
Write
value to writer§impl<V, F> ValueFormatter<Cow<'_, V>> for F
impl<V, F> ValueFormatter<Cow<'_, V>> for F
§fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
Write
value to writer§impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
§fn format_value(writer: impl ValueWriter, value: &Option<V>)
fn format_value(writer: impl ValueWriter, value: &Option<V>)
Write
value to writer