1#![deny(unsafe_code)]
9#![warn(missing_docs)]
10
11pub mod config;
12pub mod constants;
13pub mod error;
14pub mod events;
15pub mod file_transfer;
16mod group_mesh;
17mod media_envelope;
18pub mod mls;
19pub mod mls_observability;
20pub mod protocol;
21pub mod protocol_state_storage;
22pub mod telemetry;
23pub mod transport_manager;
24pub mod visualization;
25
26pub use config::{
27 EncryptionConfig, GroupConfig, OverflowPolicy, PendingQueueConfig, ProtocolConfig,
28 SecurityConfig, DEFAULT_PENDING_TTL_MS,
29};
30pub use error::{Error, EstablishmentState, Result, SessionStateError};
31pub use events::{
32 DecryptionFailureCode, DorsEscalationPhase, DorsEscalationReasonCode, DorsReasonCode, Event,
33 EventCallback, GroupInfoMember, PresenceSource, PresenceStatus, UserGroupSummary,
34};
35pub use group_mesh::{GroupRichReadiness, GroupSendOptions, RelaySyncState};
36pub use offline_protocol_services::MeshServices;
37pub use protocol::mesh_relay::{MeshRelayConfig, MeshRelayStats};
38pub use protocol::{MediaSendOptions, OfflineProtocol, SendMessageOptions};
39pub use protocol_state_storage::{
40 ProtocolStateError, ProtocolStateResult, ProtocolStateStorage,
41 MAX_PROTOCOL_STATE_RECORD_TRANSFER_BYTES,
42};
43pub use transport_manager::TransportManager;
44pub use visualization::{
45 MessageStats, NetworkLink, NetworkNode, NetworkTopology, NetworkVisualizer, NodeRole,
46};
47
48#[cfg(test)]
49mod dors_integration_tests;
50#[cfg(test)]
51mod group_mesh_tests;
52#[cfg(test)]
53mod test_identity;
54
55pub use offline_protocol_reliability::{
57 AckConfig, DeduplicatorConfig, DeduplicatorMode, DeduplicatorStats, RetryConfig,
58 RetryQueueStats,
59};
60
61pub use mls::{
63 EncryptedMessage, GroupId, GroupInfo, KeyPackageBundle, MlsManager, MlsStorage, WelcomeMessage,
64};
65pub use mls_observability::{
66 DecryptionFailureKind, MlsErrorCategory, MlsEventEmitter, MlsLifecycleEvent,
67 MlsOperationContext, NoopMlsEventEmitter,
68};
69pub use telemetry::{
70 DeviceCapabilitySnapshot, MetricsFrame, MlsVerbosity, NoopTelemetrySink, RoutingDecision,
71 RoutingPhase, RoutingReasonCode, TelemetryConfig, TelemetryRecord, TelemetrySink,
72 TransportStateEvent,
73};