프로젝트 소개
moqt-rs는 Rust로 구현된 Sans-I/O 및 no_std 지원 Media over QUIC Transport (MOQT) 라이브러리입니다. MOQT / LOC / MSF 코덱과 단일 Transport Session에 국한된 세션 상태 머신을 제공합니다.
주요 특징:
- Sans-I/O 설계로 I/O, 비동기 처리, relay 기능은 포함하지 않음
- no_std 지원, 의존성은 hashbrown / noflate / nojson 3개뿐
- 버퍼링된 증분 디코더 (MessageDecoder / SubgroupStreamDecoder / FetchStreamDecoder)
- FETCH 응답의 델타 압축 인코더 (FetchStreamEncoder)
- 지원 사양: MOQT draft-21, LOC draft-04, MSF draft-01
사용 방법:
- 제어 메시지 encode/decode: ControlMessage를 Type | Length | Message Body 형식으로 처리
- 증분 디코딩: QUIC/WebTransport의 프레임 경계와 메시지 경계가 일치하지 않으므로 push + try_decode 패턴으로 디코딩
- 세션: Session은 I/O가 없는 순수 상태 머신. new_client / new_server로 생성하고 poll_event()로 이벤트 획득
- 카탈로그 및 타임라인: MSF 카탈로그 문서나 미디어/이벤트 타임라인을 JSON과 상호 변환, gzip 압축 지원
샘플로 moqt-publisher, moqt-subscriber, moqt-transport가 포함되어 있으며 Tokio, s2n-quic, shiguredo_http3을 사용합니다.
Agent Skills 형식의 스킬도 포함되어 있어 AI 에이전트에 설치하여 API 및 사양 이해를 지원할 수 있습니다.
라이선스는 Apache License 2.0입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.