Expand description
Plaza Session: plaza::session::Session implementations for real network
transports.
Both transports share one connection manager, targeting implementation, and
serialization path (see manager); the per-transport modules are just
socket pumps. The wire format is pluggable via codec::WireCodec:
JSON by default, but an application can supply MessagePack or bincode.
Enable the actix_ws and/or tcp features to select transports.
Re-exports§
pub use conditioner::Delivery;pub use conditioner::DirectionProfile;pub use conditioner::LinkProfile;pub use conditioner::LinkPublisher;pub use conditioner::LinkSink;pub use conditioner::RETRANSMIT_PENALTY;pub use driver::LinkDriver;pub use error::SessionLayerError;pub use admission::ConnectionAdmission;pub use admission::ConnectionAdmitter;pub use admission::Farewell;pub use admission::Peer;pub use budget::OutboundBudget;pub use gate::Over;pub use gate::Rate;pub use gate::Verdict;pub use workload::Priority;pub use workload::Workload;pub use workload::DEFAULT_SOCKET_BUFFER_BYTES;pub use workload::MIN_INBOUND_RATE;pub use workload::RATE_HEADROOM;pub use manager::ConnectionManager;pub use manager::ConnectionOrder;pub use manager::Frame;pub use manager::InboundOverflow;pub use manager::InboundVolume;pub use manager::Limits;pub use manager::OutboundOverflow;pub use manager::OutboundVolume;pub use manager::Overflow;pub use manager::PresenceOverflow;pub use manager::Probes;pub use manager::Queues;pub use manager::SessionClock;pub use manager::SessionOptions;pub use manager::TransportSession;pub use manager::DEFAULT_BROADCAST_CAPACITY;pub use manager::DEFAULT_CLIENT_QUEUE_CAPACITY;pub use manager::DEFAULT_CONDITIONER_CAPACITY;pub use manager::DEFAULT_MAX_FRAME_BYTES;pub use manager::DEFAULT_MAX_MESSAGE_BYTES;pub use manager::DEFAULT_PROBE_FAST_INTERVAL;pub use manager::DEFAULT_PROBE_FAST_PINGS;pub use manager::DEFAULT_PROBE_IDLE_INTERVAL;pub use manager::DEFAULT_PROBE_SLOTS;pub use actix_ws::ActixWsPlazaSession;pub use tcp::TcpPlazaSession;
Modules§
- actix_
ws - WebSocket transport for actix-web.
- admission
- Admitting a connection on what it presents and how every close says why.
- budget
- What one connection may be sent, judged where the frames are decided on.
- codec
- Wire format used by a transport.
- conditioner
- Impairment on the link, applied where the link is.
- control
- The frames a session answers for itself: latency probes and their correlation.
- driver
- The connection loop a transport writes, minus the socket: the parts above assembled the way plaza’s own adapters assemble them. The connection loop every transport writes, minus the socket.
- error
- Errors produced by the transport implementations in this crate.
- gate
- How fast one connection may speak, judged before the queue everyone shares.
- host
- Standing a Plaza application up as a listen server: one process that is the authority, optionally plays, and serves its own browser client from the same port.
- manager
- Transport-agnostic connection management.
- stats
- What the transport dropped, which it otherwise only reports in a log line.
- tcp
- Length-delimited TCP transport.
- workload
- Queue depths and limits derived from what an application does.
Structs§
- Json
Codec - JSON wire format. The default: human-readable and easy to inspect from a
browser console or
websocat. - MsgPack
Codec - MessagePack wire format: compact and what a game usually wants once the protocol has stopped changing shape every day.
Traits§
- Wire
Codec - Encodes and decodes values on the wire.