Crate cobalt [−] [src]
cobalt is low level a networking library which implements virtual connections over UDP supporting both unreliable messaging and reliable messages with optional in-order delivery.
It is designed for use with real-time, low latency situations, for example action oriented multiplayer games.
The library provides the underlying architecture required for handling and maintaining virtual connections over UDP sockets and takes care of sending raw messages over the established client-server connections with minimal overhead.
Structs
BinaryRateLimiter |
Implementation of a binary state rate limiter for congestion avoidance. |
Client |
Implementation of a low latency socket client. |
Config |
Structure defining connection and message configuration options. |
Connection |
Implementation of a reliable, virtual socket connection. |
ConnectionID |
Representation of a random ID for connection identification purposes. |
NoopPacketModifier |
Implementation of a packet modifier which does nothing. |
Server |
Implementation of a multi-client low latency socket server. |
UdpSocket |
Non-blocking abstraction over a UDP socket. |
Enums
ClientEvent |
Enum of client related network events. |
ConnectionEvent |
Enum of connection related network events. |
ConnectionState |
Enum indicating the state of a connection. |
MessageKind |
Enum for specification of a message handling algorithm. |
ServerEvent |
Enum of server network events. |
Traits
PacketModifier |
Trait describing optional per-packet payload modification logic. |
RateLimiter |
Trait describing a network congestion avoidance algorithm. |
Socket |
Trait describing a non-blocking low latency socket. |
Type Definitions
ConnectionMap |
Type alias for connection mappings. |