Struct ConnectUdpStats
#[non_exhaustive]pub struct ConnectUdpStats {Show 19 fields
pub received: u64,
pub native: u64,
pub capsule: u64,
pub forwarded: u64,
pub dropped_unknown_context: u64,
pub dropped_oversize: u64,
pub dropped_rate_limited: u64,
pub dropped_over_quota: u64,
pub dropped_unanswered: u64,
pub returned: u64,
pub returned_dropped_rate_limited: u64,
pub returned_dropped_over_quota: u64,
pub returned_dropped_too_large: u64,
pub returned_dropped_unsent: u64,
pub received_bytes: u64,
pub oversize_declared_bytes: u64,
pub forwarded_bytes: u64,
pub returned_bytes: u64,
pub returned_dropped_bytes: u64,
}masque only.Expand description
What a CONNECT-UDP tunnel received, forwarded and dropped, for one tunnel.
From the client: every HTTP Datagram counts in received and either in forwarded or in
one dropped_* field. From the target: every datagram the tunnel accepted to send counts,
once the tunnel has ended, in returned or in one returned_dropped_* field.
Byte counts are what was actually moved, never what a budget charged, and saturate.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.received: u64HTTP Datagrams received from the client.
native: u64Of those, received as QUIC DATAGRAM frames.
capsule: u64Of those, received as DATAGRAM capsules.
forwarded: u64UDP payloads forwarded to the target.
dropped_unknown_context: u64Dropped: a context other than UDP payloads, or a truncated context ID.
dropped_oversize: u64Dropped: larger than the tunnel carries.
dropped_rate_limited: u64Dropped: over the tunnel’s rate.
dropped_over_quota: u64Dropped: over the tunnel’s quota.
dropped_unanswered: u64Dropped: the target has not answered and the allowance is spent.
returned: u64Datagrams from the target sent on to the client.
returned_dropped_rate_limited: u64Datagrams from the target dropped: over the tunnel’s rate.
returned_dropped_over_quota: u64Datagrams from the target dropped: over the tunnel’s quota.
returned_dropped_too_large: u64Datagrams from the target dropped: larger than the native carrier takes now.
returned_dropped_unsent: u64Datagrams from the target dropped: the tunnel ended before the carrier took them, still queued or with their send waiting.
received_bytes: u64Bytes after the Context ID of the HTTP Datagrams received in full, whatever their context: a truncated Context ID has none, and how an ID is encoded never counts.
oversize_declared_bytes: u64What oversized DATAGRAM capsules declared after their Context ID: only their start is read, so these bytes were announced, not necessarily received.
forwarded_bytes: u64UDP payload bytes handed to the tunnel’s reader, toward the target.
returned_bytes: u64UDP payload bytes the carrier took toward the client.
returned_dropped_bytes: u64UDP payload bytes from the target dropped, for any returned_dropped_* reason.
Trait Implementations§
§impl Clone for ConnectUdpStats
impl Clone for ConnectUdpStats
§fn clone(&self) -> ConnectUdpStats
fn clone(&self) -> ConnectUdpStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ConnectUdpStats
§impl Debug for ConnectUdpStats
impl Debug for ConnectUdpStats
§impl Default for ConnectUdpStats
impl Default for ConnectUdpStats
§fn default() -> ConnectUdpStats
fn default() -> ConnectUdpStats
impl Eq for ConnectUdpStats
§impl PartialEq for ConnectUdpStats
impl PartialEq for ConnectUdpStats
impl StructuralPartialEq for ConnectUdpStats
Auto Trait Implementations§
impl Freeze for ConnectUdpStats
impl RefUnwindSafe for ConnectUdpStats
impl Send for ConnectUdpStats
impl Sync for ConnectUdpStats
impl Unpin for ConnectUdpStats
impl UnsafeUnpin for ConnectUdpStats
impl UnwindSafe for ConnectUdpStats
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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> ⓘ
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> ⓘ
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>
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>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more