Sobre el proyecto

moqt-rs es una biblioteca de Media over QUIC Transport (MOQT) implementada en Rust, con diseño Sans-I/O y soporte no_std. Proporciona codecs para MOQT / LOC / MSF y una máquina de estados de sesión limitada a una única sesión de transporte. Características principales: - Diseño Sans-I/O: no incluye E/S, procesamiento asíncrono ni funciones de relay. - Soporte no_std: solo depende de hashbrown, noflate y nojson. - Decodificador incremental con búfer (MessageDecoder / SubgroupStreamDecoder / FetchStreamDecoder). - Codificador de compresión delta para respuestas FETCH (FetchStreamEncoder). - Especificaciones compatibles: MOQT draft-21, LOC draft-04, MSF draft-01. Uso: - Codificación/decodificación de mensajes de control: ControlMessage se maneja en formato Type | Length | Message Body. - Decodificación incremental: dado que los límites de trama de QUIC/WebTransport no coinciden con los límites de mensaje, se decodifica con el patrón push + try_decode. - Sesión: Session es una máquina de estados pura sin E/S. Se crea con new_client / new_server y se obtienen eventos con poll_event(). - Catálogo y línea de tiempo: conversión mutua entre documentos de catálogo MSF o líneas de tiempo de medios/eventos y JSON, con soporte de compresión gzip. Se incluyen ejemplos como moqt-publisher, moqt-subscriber y moqt-transport, que utilizan Tokio, s2n-quic y shiguredo_http3. También se incluyen habilidades en formato Agent Skills, que pueden instalarse en agentes de IA para ayudar a comprender la API y las especificaciones. La licencia es Apache License 2.0.