Crate dstar_gateway_server

Crate dstar_gateway_server 

Source
Expand description

Multi-client D-STAR reflector server.

Supports all three reflector protocols — DExtra, DPlus, and DCS — behind a common Reflector front-end. Each enabled endpoint runs on its own tokio task and (when cross_protocol_forwarding = true in the config) publishes to a shared broadcast bus so voice frames received on one protocol are transcoded and re-broadcast on the other two.

Re-exports§

pub use client_pool::ClientHandle;
pub use client_pool::ClientPool;
pub use client_pool::DEFAULT_TX_BUDGET_MAX_TOKENS;
pub use client_pool::DEFAULT_TX_BUDGET_REFILL_PER_SEC;
pub use client_pool::DEFAULT_UNHEALTHY_THRESHOLD;
pub use client_pool::TokenBucket;
pub use client_pool::UnhealthyOutcome;
pub use reflector::AccessPolicy;
pub use reflector::AllowAllAuthorizer;
pub use reflector::ClientAuthorizer;
pub use reflector::ConfigError;
pub use reflector::DenyAllAuthorizer;
pub use reflector::LinkAttempt;
pub use reflector::ReadOnlyAuthorizer;
pub use reflector::Reflector;
pub use reflector::ReflectorConfig;
pub use reflector::ReflectorConfigBuilder;
pub use reflector::RejectReason;
pub use reflector::StreamCache;
pub use tokio_shell::CrossProtocolEvent;
pub use tokio_shell::EndpointOutcome;
pub use tokio_shell::FanOutReport;
pub use tokio_shell::ProtocolEndpoint;
pub use tokio_shell::ShellError;
pub use tokio_shell::VoiceEvent;
pub use tokio_shell::fan_out_voice;
pub use tokio_shell::fan_out_voice_at;
pub use tokio_shell::transcode_voice;

Modules§

client_pool
Client pool — concurrent SocketAddrClientHandle map.
reflector
Top-level reflector types: config, authorizer, stream cache, and the Reflector front-end that owns all enabled endpoints.
tokio_shell
Tokio-facing shell: the per-protocol RX endpoint and fan-out glue.