at main 34 lines 1.0 kB view raw
1//! Real-time collaboration transport layer. 2//! 3//! Core message types are always available. iroh-based networking 4//! requires the `iroh` feature. 5 6mod messages; 7mod presence_types; 8 9#[cfg(feature = "iroh")] 10mod discovery; 11#[cfg(feature = "iroh")] 12mod node; 13#[cfg(feature = "iroh")] 14mod presence; 15#[cfg(feature = "iroh")] 16mod session; 17 18// Always available - wire protocol 19pub use messages::CollabMessage; 20pub use presence_types::{CollaboratorInfo, PresenceSnapshot, RemoteCursorInfo}; 21 22// iroh feature - networking 23#[cfg(feature = "iroh")] 24pub use discovery::{node_id_to_string, parse_node_id, DiscoveredPeer, DiscoveryError}; 25#[cfg(feature = "iroh")] 26pub use iroh::EndpointId; 27#[cfg(feature = "iroh")] 28pub use messages::{ReceivedMessage, SignedMessage, SignedMessageError}; 29#[cfg(feature = "iroh")] 30pub use node::{CollabNode, TransportError}; 31#[cfg(feature = "iroh")] 32pub use presence::{Collaborator, PresenceTracker, RemoteCursor}; 33#[cfg(feature = "iroh")] 34pub use session::{CollabSession, SessionError, SessionEvent, TopicId};