1#![cfg_attr(not(feature = "std"), no_std)]
14
15#[cfg(feature = "alloc")]
16extern crate alloc;
17
18pub mod address;
19pub mod codec;
20pub mod error;
21pub mod frame;
22#[cfg(feature = "std")]
23pub mod p2p;
24#[cfg(feature = "std")]
25pub mod security;
26pub mod state;
27pub mod time;
28pub mod types;
29
30pub use address::Address;
31pub use codec::{decode, encode};
32pub use error::{Error, Result};
33pub use frame::Frame;
34#[cfg(feature = "std")]
35pub use p2p::{
36 extract_target_session, is_p2p_address, is_p2p_signal_address, signal_address, P2PAnnounce,
37 P2PConfig, P2PConnectionState, P2PSignal, RoutingMode, TurnServer, P2P_ANNOUNCE, P2P_NAMESPACE,
38 P2P_SIGNAL_PREFIX,
39};
40#[cfg(feature = "std")]
41pub use security::{
42 Action, CpskValidator, Scope, SecurityMode, TokenInfo, TokenValidator, ValidationResult,
43 ValidatorChain,
44};
45pub use state::ParamState;
46pub use time::Timestamp;
47pub use types::*;
48
49pub const PROTOCOL_VERSION: u8 = 2;
51
52pub const MAGIC_BYTE: u8 = 0x53; pub const DEFAULT_WS_PORT: u16 = 7330;
57
58pub const DEFAULT_DISCOVERY_PORT: u16 = 7331;
60
61pub const WS_SUBPROTOCOL: &str = "clasp.v2";
63
64pub const MDNS_SERVICE_TYPE: &str = "_clasp._tcp.local.";