srt-runtime 0.1.0

SRT (Secure Reliable Transport, draft-sharabayko-srt-01) packet codecs — data + control packet parse/serialize, no_std. Handshake state machine, ARQ/loss, crypto, and a tokio adapter are planned follow-ups.
Documentation

srt-runtime

SRT (Secure Reliable Transport) packet codecs, grounded in draft-sharabayko-srt-01 (the free, redistributable IETF Internet-Draft) §3, Packet Structure.

What's here (this release)

Typed, byte-exact parse/serialize for every SRT packet type:

  • The 16-byte SRT header and the F (Packet Type Flag) dispatch (data vs. control).
  • Data packets (§3.1) — sequence number, message number, packet position, order/retransmit/encryption flags.
  • Every control packet type (§3.2): Handshake (with its extension messages — Handshake Extension, Key Material, Stream ID, Group Membership), Keep-Alive, ACK (Full/Small/Light), NAK (loss-list coding, Appendix A), Congestion Warning, Shutdown, ACKACK, Message Drop Request, and Peer Error.

no_std + alloc (default std feature can be turned off); no unsafe.

What's not here — explicit follow-ups

  • The handshake state machine (caller/listener/rendezvous exchange, §4.3) — this crate parses/builds handshake packets, not a connection.
  • ARQ / loss handling, TSBPD, congestion control (§4-§5).
  • Actual AES key-wrap/unwrap crypto (§6) — KeyMaterial carries the wrapped-key bytes opaquely, performing no cryptographic operations.
  • A tokio socket adapter (mirroring rtsp-runtime's io module).
[dependencies]
srt-runtime = "0.1"

License

MIT OR Apache-2.0.