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§
- opentelemetry
opentelemetry - Http OpenTelemetry
LayerSupport for Rama.
Structs§
- BytesRW
Tracker - A wrapper around a
AsyncReadand/orAsyncWritethat tracks the number of bytes read and/or written. - BytesRW
Tracker Handle - 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.
- Incoming
Bytes Tracker Layer - A
Layerthat wraps aService’s input IOStreamwith an atomic R/W tracker. - Incoming
Bytes Tracker Service - A
Servicethat wraps aService’s input IOStreamwith an atomic R/W tracker. - Outgoing
Bytes Tracker Layer - A
Layerthat wraps aService’s output IOStreamwith an atomic R/W tracker. - Outgoing
Bytes Tracker Service - A
Servicethat wraps aService’s output IOStreamwith an atomic R/W tracker. - Outgoing
Throttle Layer - A
Layerthat throttles the connection aService(connector) establishes: an IOStreamis wrapped in aThrottledIo, other connections throttle their own streams (seeThrottleable). - Outgoing
Throttle Service - A
Servicethat throttles the connection its inner connector establishes: an IOStreamis wrapped in aThrottledIo, other connections throttle their own streams (seeThrottleable). - TcpStream
Options - Options that are meaningful on an accepted or connected TCP stream.
- TcpStream
Options Layer - Apply connected
TcpStreamOptionsbefore delegating a TCP stream. - TcpStream
Options Service - Service produced by
TcpStreamOptionsLayer. - Throttle
Budget - The
StreamGatethat throttles one direction of a single IO. - Throttle
Config - How
ThrottleLayerandOutgoingThrottleLayerthrottle a connection: aThrottleModeper direction and the grant quantum. - Throttle
Gates - The
StreamGatesof one throttled multiplexed connection, such as a QUIC one. - Throttle
Layer - A
Layerthat throttles aService’s input connection: an IOStreamis wrapped in aThrottledIo, other connections throttle their own streams (seeThrottleable). - Throttle
Service - A
Servicethat throttles its input connection: an IOStreamis wrapped in aThrottledIo, other connections throttle their own streams (seeThrottleable). - Throttled
Io - A wrapper around an
AsyncReadand/orAsyncWritethat paces reads and/or writes against a byte-rate token bucket.
Enums§
- Throttle
Mode - How one direction of a
ThrottledIois budgeted.
Traits§
- Throttleable
- An input that
ThrottleLayerandOutgoingThrottleLayerthrottle.