Overview of yojimbo networking library
mainyojimbo is a C++ network library specifically designed for client/server games, such as competitive first-person shooters. It provides a complete networking stack for managing connections, security, and data transmission over UDP.
Key features include:
- Security: Cryptographically secure authentication via connect tokens, and encrypted/signed packets.
- Connection Management: Handles client/server connections and timeouts.
- Reliability: Supports both unreliable-unordered messages (for time-sensitive data) and reliable-ordered messages (with aggressive resend until acknowledged).
- Data Handling: Includes packet fragmentation/reassembly, a bitpacker/serialization system, and the ability to attach data blocks larger than the maximum packet size to reliable-ordered messages.
- Telemetry: Provides per-connection estimates for latency, jitter, packet loss, and bandwidth (sent, received, and acked).