跳转至

XGL Documentation

XGL is a production-oriented reliable multi-node protocol stack for resource-constrained MCUs. It provides a v2 wire format, multi-PHY routing, reliable delivery, ACK ranges, SACK, authentication, bounded fragment reassembly, and low-power runtime deadlines.

Current Capabilities

  • 24-byte fixed wire header with explicit offset-based encoding.
  • 16-bit node IDs and 32-bit packet numbers.
  • TLV extensions for session, ACK range, SACK, fragment, security, and route metadata.
  • Connection-scoped peer state keyed by target_id + connection_id + session_epoch.
  • Production authentication provider requirements, including authenticated zero-copy behavior.
  • xgl_next_deadline_ms() for bare-metal and RTOS sleep scheduling.

Boundaries

  • Single-frame payload length is still limited by uint16_t payload_len.
  • Large messages use FRAGMENT_EXT.
  • Compression and encryption are reserved codec capabilities and are rejected by the production path until fully wired.
  • Broadcast and multicast address ranges are reserved; the current reliable path is unicast-focused.

SDK Users

  1. Quick Start
  2. Configuration
  3. Send API
  4. Zero-Copy
  5. Low-Power Runtime

Protocol Maintainers

  1. Architecture
  2. Implementation Map
  3. State Machines
  4. Wire Format
  5. TLV Extensions
  6. Reliability
  7. Security
  8. Validation Matrix

MCU Release Owners

  1. Porting
  2. Resource Model
  3. Production Checklist
  4. Release Validation
  5. Static Analysis