1pub mod ban;
8pub mod client;
9pub mod error;
10pub mod framing;
11pub mod permissions;
12pub mod query;
13mod ratelimit;
14pub mod registered;
15pub mod state;
16pub mod tap;
17pub mod tls;
18pub mod version;
19pub mod voice;
20
21pub use ban::{
22 ADDRESS_LEN, Ban, format_start, from_message, parse_iso, query_message, to_message, wire_mask,
23};
24pub use client::{
25 ConnectConfig, Connection, DisconnectReason, Event, Handle, LowOutcome, PLUGIN_DATA_MAX,
26 PluginData, PluginTicket, SyncProgress, TextMessage, TextTarget, UdpPing, connect,
27 connect_with_progress, connect_with_tap, set_client_release,
28};
29pub use error::{
30 CommandError, ConnectError, DenyKind, PermissionDenied, ProtocolError, RejectReason,
31};
32pub use query::{
33 LEGACY_ANSWER_LEN, LEGACY_QUERY_LEN, QueryAnswer, decode_answer, encode_legacy_query,
34 encode_query,
35};
36pub use registered::RegisteredUser;
37pub use rustls::pki_types;
39pub use state::{Channel, CryptSetup, ServerInfo, ServerState, User, UserChange};
40pub use tap::{PacketTap, TapDirection, TapPacing, TapPluginData, TappedFrame};
41pub use tls::{CertVerifier, ClientIdentity, ServerCert, cert_hash};
42pub use version::MumbleVersion;
43pub use voice::{
44 CryptStats, LinkStats, MAX_VOICE_PAYLOAD, OutgoingAudio, Transport, VOICE_TARGET_MAX,
45 VoiceEvent, VoicePacket, VoiceTransport, WhisperKind,
46};
47
48#[allow(clippy::all, missing_docs)]
50pub mod proto {
51 include!(concat!(env!("OUT_DIR"), "/mumble_proto.rs"));
52}
53
54#[allow(clippy::all, missing_docs)]
56pub mod udp_proto {
57 include!(concat!(env!("OUT_DIR"), "/mumble_udp.rs"));
58}
59
60#[cfg(doctest)]
62#[doc = include_str!("../README.md")]
63struct ReadmeDoctests;