Crate dstar_gateway_core

Crate dstar_gateway_core 

Source
Expand description

Sans-io core for the dstar-gateway D-STAR reflector library.

This crate is runtime-agnostic and I/O-free. It contains the wire-format codecs, the typestate session machines, and the supporting types and errors. The async (tokio) and blocking shells live in the sibling dstar-gateway and dstar-gateway-server crates respectively.

See crate::types for validated primitives, crate::header for the D-STAR radio header, crate::voice for voice frame types, crate::hosts for the host file parser, and crate::error for the error hierarchy.

Re-exports§

pub use dprs::DprsError;
pub use dprs::DprsReport;
pub use dprs::Latitude;
pub use dprs::Longitude;
pub use dprs::compute_crc;
pub use dprs::encode_dprs;
pub use dprs::parse_dprs;
pub use error::DExtraError;
pub use error::DPlusError;
pub use error::DcsError;
pub use error::EncodeError;
pub use error::Error;
pub use error::IoOperation;
pub use error::ProtocolError;
pub use error::StateError;
pub use error::TimeoutError;
pub use header::DStarHeader;
pub use header::ENCODED_LEN;
pub use header::crc_ccitt;
pub use hosts::HostEntry;
pub use hosts::HostFile;
pub use session::client::AnySession;
pub use session::client::Authenticated;
pub use session::client::ClientState;
pub use session::client::ClientStateKind;
pub use session::client::Closed;
pub use session::client::Configured;
pub use session::client::Connected;
pub use session::client::Connecting;
pub use session::client::DExtra;
pub use session::client::DPlus;
pub use session::client::Dcs;
pub use session::client::DisconnectReason;
pub use session::client::Disconnecting;
pub use session::client::Event;
pub use session::client::Failed;
pub use session::client::Missing;
pub use session::client::NoAuthRequired;
pub use session::client::Protocol;
pub use session::client::Provided;
pub use session::client::Session;
pub use session::client::SessionBuilder;
pub use session::client::SessionCore;
pub use session::client::VoiceEndReason;
pub use session::server::ClientRejectedReason;
pub use session::server::ForwardableFrame;
pub use session::server::ServerEvent;
pub use session::server::ServerSession;
pub use session::server::ServerSessionCore;
pub use session::Driver;
pub use session::Transmit;
pub use slowdata::MAX_MESSAGE_LEN;
pub use slowdata::SlowDataAssembler;
pub use slowdata::SlowDataBlock;
pub use slowdata::SlowDataBlockKind;
pub use slowdata::SlowDataError;
pub use slowdata::SlowDataText;
pub use slowdata::SlowDataTextCollector;
pub use slowdata::descramble;
pub use slowdata::encode_text_message;
pub use slowdata::scramble;
pub use types::BandLetter;
pub use types::Callsign;
pub use types::Module;
pub use types::ProtocolKind;
pub use types::ReflectorCallsign;
pub use types::StreamId;
pub use types::Suffix;
pub use types::TypeError;
pub use validator::AuthHostSkipReason;
pub use validator::CallsignField;
pub use validator::Diagnostic;
pub use validator::DiagnosticSink;
pub use validator::NullSink;
pub use validator::TracingSink;
pub use validator::VecSink;
pub use voice::AMBE_SILENCE;
pub use voice::DSTAR_SYNC_BYTES;
pub use voice::VoiceFrame;

Modules§

codec
Wire-format codecs for DPlus, DExtra, and DCS.
dprs
D-STAR Position Reporting System (DPRS).
error
Error types for dstar-gateway-core.
header
D-STAR radio header (41 bytes on the wire with CRC-CCITT).
hosts
D-STAR reflector host file parser.
session
Sans-io session machinery.
slowdata
D-STAR slow data sub-codec.
types
Strongly-typed primitives for dstar-gateway-core.
validator
Lenient parser diagnostic stream.
voice
D-STAR voice frame types and constants.