dstar_gateway_core/codec/dextra/mod.rs
1//! `DExtra` (XRF/XLX reflectors, UDP port 30001) wire codec.
2//!
3//! See [`packet`] for the canonical packet enums. See [`encode`] for
4//! TX-side encoders and [`decode`] for RX-side decoders.
5//!
6//! Reference implementations:
7//! - `ircDDBGateway/Common/DExtraProtocolHandler.cpp` (parser dispatch)
8//! - `ircDDBGateway/Common/ConnectData.cpp:278-321` (connect codec)
9//! - `ircDDBGateway/Common/HeaderData.cpp:590-635` (voice header)
10//! - `ircDDBGateway/Common/AMBEData.cpp:318-345` (voice data + EOT)
11//! - `xlxd/src/cdextraprotocol.cpp` (mirror reference)
12
13pub mod consts;
14pub mod decode;
15pub mod encode;
16pub mod error;
17pub mod packet;
18
19pub use decode::{decode_client_to_server, decode_server_to_client};
20pub use encode::{
21 encode_connect_ack, encode_connect_link, encode_connect_nak, encode_poll, encode_poll_echo,
22 encode_unlink, encode_voice_data, encode_voice_eot, encode_voice_header,
23};
24pub use error::DExtraError;
25pub use packet::{ClientPacket, ConnectResult, ServerPacket};