Crate aeronet_transport

Crate aeronet_transport 

Source
Expand description

Transport layer protocol implementation which sits on top of aeronet_io IO layer implementations providing message acknowledgements, reliable-ordered messaging, and RTT and packet loss estimation.

crates.io docs.rs

The heart of this layer is the Transport component.

§Feature flags

  • arbitrary — Allows generating arbitrary values of some types with arbitrary, useful for fuzz testing.

  • document-features — Enable this when generating docs.

  • serde — Allows serializing and deserializing some types with serde.

  • std (enabled by default) — Enables standard library support.

  • visualizer — Allows using the visualizer module, which draws session statistics using bevy_egui and egui_plot.

Re-exports§

pub use aeronet_io as io;

Modules§

frag
Handles splitting large messages into smaller fragments, and reassembling fragments back into messages.
lane
Provides guarantees on message delivery and reception.
limit
See Limit.
packet
Defines the structure of packets on the wire.
recv
Receiving logic for Transports.
rtt
See RttEstimator.
sampling
See SessionSamplingPlugin.
send
Sending logic for Transports.
seq_buf
See SeqBuf.
size
See MinSize.
visualizervisualizer
See SessionVisualizerPlugin.

Structs§

AeronetTransportPlugin
Sets up the transport layer functionality.
MemoryLimitExceeded
Error in DisconnectReason::ByError triggered on a Session when a Transport exceeds its memory usage limit.
MessageKey
Key which pseudo-uniquely identifies a message that has been sent out via TransportSend::push on this Transport.
MessageStats
Statistics for a Transport.
RecvMessage
Incoming message that a Transport created from packets received by the IO layer.
Transport
Manages sending and receiving messages on top of an IO layer.
TransportConfig
User-configurable properties of a Transport.

Enums§

TransportSystems
System set for scheduling transport layer systems.