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 throttles the connection a Service (connector) establishes: an IO Stream is wrapped in a ThrottledIo, other connections throttle their own streams (see Throttleable).
OutgoingThrottleService
A Service that throttles the connection its inner connector establishes: an IO Stream is wrapped in a ThrottledIo, other connections throttle their own streams (see Throttleable).
TcpStreamOptions
Options that are meaningful on an accepted or connected TCP stream.
TcpStreamOptionsLayer
Apply connected TcpStreamOptions before delegating a TCP stream.
TcpStreamOptionsService
Service produced by TcpStreamOptionsLayer.
ThrottleBudget
The StreamGate that throttles one direction of a single IO.
ThrottleConfig
How ThrottleLayer and OutgoingThrottleLayer throttle a connection: a ThrottleMode per direction and the grant quantum.
ThrottleGates
The StreamGates of one throttled multiplexed connection, such as a QUIC one.
ThrottleLayer
A Layer that throttles a Service’s input connection: an IO Stream is wrapped in a ThrottledIo, other connections throttle their own streams (see Throttleable).
ThrottleService
A Service that throttles its input connection: an IO Stream is wrapped in a ThrottledIo, other connections throttle their own streams (see Throttleable).
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.

Traits§

Throttleable
An input that ThrottleLayer and OutgoingThrottleLayer throttle.