Skip to main content

hashtree_cli/webrtc/
mod.rs

1//! Native mesh connectivity for hashtree data exchange.
2//!
3//! The default negotiated path is Nostr signaling plus WebRTC data channels,
4//! but this module also layers in nearby/offline transports such as Bluetooth,
5//! multicast, and Wi-Fi Aware around the same mesh state and routing logic.
6
7mod bluetooth;
8mod bluetooth_peer;
9mod cashu;
10mod local_bus;
11mod multicast;
12mod peer;
13mod root_events;
14mod session;
15mod signaling;
16pub mod types;
17mod wifi_aware;
18
19#[cfg(test)]
20mod tests;
21
22pub use bluetooth::{
23    install_mobile_bluetooth_bridge, BluetoothBackendState, BluetoothConfig, BluetoothMesh,
24    MobileBluetoothBridge, PendingBluetoothLink,
25};
26pub use bluetooth_peer::{BluetoothFrame, BluetoothLink, BluetoothPeer};
27pub use cashu::{cashu_mint_metadata_path, CashuMintMetadataStore, CashuRoutingConfig};
28pub use local_bus::{LocalNostrBus, SharedLocalNostrBus};
29pub use multicast::{MulticastConfig, MulticastNostrBus};
30pub use peer::{ContentStore, Peer, PendingRequest};
31pub use root_events::PeerRootEvent;
32pub(crate) use root_events::{build_root_filter, pick_latest_event, root_event_from_peer};
33pub use session::MeshPeer;
34pub use signaling::{
35    ConnectionState, PeerClassifier, PeerEntry, PeerSignalPath, PeerTransport, WebRTCManager,
36    WebRTCState,
37};
38pub use types::{
39    encode_request, DataMessage, DataRequest, PeerDirection, PeerId, PeerPool, PoolConfig,
40    PoolSettings, RequestDispatchConfig, SelectionStrategy, SignalingMessage, WebRTCConfig,
41    MAX_HTL,
42};
43pub use wifi_aware::{
44    install_mobile_wifi_aware_bridge, MobileWifiAwareBridge, WifiAwareConfig, WifiAwareEvent,
45    WifiAwareNostrBus,
46};