Skip to main content

Module layer

Module layer 

Available on crate feature net only.
Expand description

Rama middleware services that operate directly on network rama_core::io::Io types.

Examples are services that can operate directly on a TCP, TLS or UDP stream.

Modules§

opentelemetryopentelemetry
Http OpenTelemetry Layer Support for Rama.

Structs§

BytesRWTracker
A wrapper around a AsyncRead and/or AsyncWrite that tracks the number of bytes read and/or written.
BytesRWTrackerHandle
A handle to a tracker that can be used to get the number of bytes read and/or written even though the tracker is consumed by a protocol consumer.
IncomingBytesTrackerLayer
A Layer that wraps a Service’s input IO Stream with an atomic R/W tracker.
IncomingBytesTrackerService
A Service that wraps a Service’s input IO Stream with an atomic R/W tracker.
OutgoingBytesTrackerLayer
A Layer that wraps a Service’s output IO Stream with an atomic R/W tracker.
OutgoingBytesTrackerService
A Service that wraps a Service’s output IO Stream with an atomic R/W tracker.
OutgoingThrottleLayer
A Layer that wraps a Service’s output IO Stream with a byte-rate throttle. See ThrottledIo.
OutgoingThrottleService
A Service that wraps a Service’s output IO Stream with a byte-rate throttle. See ThrottledIo.
ThrottleLayer
A Layer that wraps a Service’s input IO Stream with a byte-rate throttle. See ThrottledIo.
ThrottleService
A Service that wraps a Service’s input IO Stream with a byte-rate throttle. See ThrottledIo.
ThrottledIo
A wrapper around an AsyncRead and/or AsyncWrite that paces reads and/or writes against a byte-rate token bucket.

Enums§

ThrottleMode
How one direction of a ThrottledIo is budgeted.