1pub mod api;
17#[cfg(feature = "bench-internals")]
18mod bench;
19pub mod client;
20#[cfg(feature = "crdt-yjs")]
23pub mod crdt;
24pub mod native_transport;
28mod progress;
29mod round;
30pub use progress::{
31 ProgressObserver, ProgressPhase, ProgressState, ProgressSubscription, SyncProgress,
32 SyncProgressListener,
33};
34pub use round::{AppliedSyncRound, CompletedSyncRound, PreparedSyncRound};
35pub mod previous_version;
38pub mod query_guard;
39pub mod realtime_round;
40pub mod remote;
41pub mod schema;
42pub mod transport;
43pub mod values;
44
45#[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
49pub(crate) fn wall_clock_ms() -> i64 {
50 js_sys::Date::now() as i64
51}
52
53#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))]
57pub(crate) fn wall_clock_ms() -> i64 {
58 std::time::SystemTime::now()
59 .duration_since(std::time::UNIX_EPOCH)
60 .expect("system clock predates Unix epoch")
61 .as_millis() as i64
62}
63
64pub use api::{
65 creation_time_bucket, last, AuthorityReadDeclaration, ClientChangeBatch, ClientDiagnosticsHost,
66 ClientDiagnosticsLease, ClientDiagnosticsReplica, ClientDiagnosticsRequest,
67 ClientDiagnosticsSchema, ClientDiagnosticsSnapshot, ClientDiagnosticsStorage, ClientError,
68 ClientLimits, CommandEffects, CommitDelivery, CommitOperation, CommitOperationOutcome,
69 CommitOutcome, CommitOutcomeQuery, CommitOutcomeResolution, CommitOutcomeStatus,
70 ConflictRecord, CoverageSnapshot, DiagnosticLastChange, DiagnosticLastRound,
71 DiagnosticQueryFailure, DiagnosticRoundCounters, DiagnosticSubscription,
72 ExpectedDiagnosticSubscription, FetchedBlob, LocalDataPurgeInput, LocalDataPurgeResult,
73 LocalDataPurgeTarget, LocalDataRebootstrapInput, LocalDataRebootstrapResult, Mutation,
74 PresencePeer, QueryOwner, QueryReadFailure, QueryRow, QuerySnapshot, QueryValue,
75 RealtimePolicy, RealtimeState, RejectionRecord, ResolveCommitOutcomeInput, RetainedCommitRow,
76 RetainedUniqueConflict, RowState, SchemaFloor, SnapshotRead, SubscriptionCatchup,
77 SubscriptionStateView, SyncIntent, SyncOutcome, SyncReport, SyncStatusSnapshot, TableChange,
78 TimeBucketUnit, WindowBase, WindowChange, WindowCoverage, WindowState, WindowUnitRef,
79 CLIENT_DIAGNOSTICS_VERSION, MAX_DIAGNOSTIC_EXPECTED_SUBSCRIPTIONS,
80 MAX_DIAGNOSTIC_QUERY_FAILURES, REALTIME_LOST_CODE, REALTIME_UNAVAILABLE_CODE,
81};
82pub use client::{
83 FileQuerySnapshotReader, SnapshotReadRequest, SnapshotStatement, SyncClient,
84 SECURITY_PREFLIGHT_REQUIRED_CODE,
85};
86pub use schema::{compile_schema, parse_schema_json, ClientSchema};
87pub use transport::{BlobDownload, BlobUploadGrant, SegmentRequest, Transport, TransportError};
88
89pub use realtime_round::{RealtimeRound, RoundInbound, REALTIME_TAG_DELTA, REALTIME_TAG_ROUND};
93pub use remote::{
94 PreparedRemoteCommit, RemoteBytes, RemoteClientError, RemoteCommandResult, RemoteCommitInput,
95 RemoteCommitResult, RemoteQueryResult, SyncRemoteClient,
96};
97pub use ssp2::{MessageStreamScanner, ScannedMessage};