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 storage_conformance;
23pub mod telemetry;
24pub mod transport_manager;
25pub mod visualization;
26
27pub use config::{
28 DataConfig, EncryptionConfig, GroupConfig, OverflowPolicy, PendingQueueConfig, ProtocolConfig,
29 SecurityConfig, DEFAULT_PENDING_TTL_MS,
30};
31pub use error::{Error, EstablishmentState, Result, SessionStateError};
32pub use events::{
33 DecryptionFailureCode, DocRemovedBy, DorsEscalationPhase, DorsEscalationReasonCode,
34 DorsReasonCode, Event, EventCallback, GroupInfoMember, PresenceSource, PresenceStatus,
35 UserGroupSummary,
36};
37pub use group_mesh::{
38 GroupRichReadiness, GroupSendOptions, RelaySyncState, MAX_RELAY_CAPABILITIES,
39 MAX_RELAY_CAPABILITY_TOKEN_BYTES,
40};
41#[cfg(feature = "data")]
47pub use offline_protocol_data::{DataValue, DOC_SIZE_WARN_BYTES, MAX_DOC_BYTES, MAX_VALUE_BYTES};
48pub use offline_protocol_services::MeshServices;
49pub use protocol::mesh_relay::{MeshRelayConfig, MeshRelayStats};
50pub use protocol::{GatewayCarrier, MediaSendOptions, OfflineProtocol, SendMessageOptions};
51pub use protocol_state_storage::{
52 ProtocolStateError, ProtocolStateResult, ProtocolStateStorage,
53 MAX_PROTOCOL_STATE_RECORD_TRANSFER_BYTES,
54};
55pub use transport_manager::TransportManager;
56pub use visualization::{
57 MessageStats, NetworkLink, NetworkNode, NetworkTopology, NetworkVisualizer, NodeRole,
58};
59
60#[cfg(test)]
61mod dors_integration_tests;
62#[cfg(test)]
63mod group_mesh_tests;
64#[cfg(test)]
65mod test_identity;
66
67pub use offline_protocol_reliability::{
69 AckConfig, DeduplicatorConfig, DeduplicatorMode, DeduplicatorStats, RetryConfig,
70 RetryQueueStats,
71};
72
73pub use mls::{
75 EncryptedMessage, GroupId, GroupInfo, KeyPackageBundle, MlsManager, MlsStorage, WelcomeMessage,
76};
77pub use mls_observability::{
78 DecryptionFailureKind, MlsErrorCategory, MlsEventEmitter, MlsLifecycleEvent,
79 MlsOperationContext, NoopMlsEventEmitter,
80};
81#[cfg(feature = "telemetry-pipe")]
82pub use telemetry::{AppState, TelemetryHost, TelemetryOs, TelemetryPipe, TelemetryStats};
83pub use telemetry::{
84 DeviceCapabilitySnapshot, MetricsFrame, MlsVerbosity, NoopTelemetrySink, RoutingDecision,
85 RoutingPhase, RoutingReasonCode, TelemetryConfig, TelemetryRecord, TelemetrySink,
86 TransportStateEvent,
87};