cobalt 0.20.0

Low level, UDP based networking library.

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.