sync15/client/
mod.rs

1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5//! A module for everything needed to be a "sync client" - ie, a device which
6//! can perform a full sync of any number of collections, including managing
7//! the server state.
8//!
9//! In general, the client is responsible for all communication with the sync server,
10//! including ensuring the state is correct, and encrypting/decrypting all records
11//! to and from the server. However, the actual syncing of the collections is
12//! delegated to an external [crate::engine](Sync Engine).
13//!
14//! One exception is that the "sync client" owns one sync engine - the
15//! [crate::clients_engine], which is managed internally.
16mod coll_state;
17mod coll_update;
18mod collection_keys;
19mod request;
20mod state;
21mod status;
22mod storage_client;
23mod sync;
24mod sync_multiple;
25mod token;
26mod util;
27
28pub(crate) use coll_state::{CollState, LocalCollStateMachine};
29pub(crate) use coll_update::{fetch_incoming, CollectionUpdate};
30pub(crate) use collection_keys::CollectionKeys;
31pub(crate) use request::InfoConfiguration;
32pub(crate) use state::GlobalState;
33pub use status::{ServiceStatus, SyncResult};
34pub use storage_client::{
35    SetupStorageClient, Sync15ClientResponse, Sync15StorageClient, Sync15StorageClientInit,
36};
37pub use sync_multiple::{
38    sync_multiple, sync_multiple_with_command_processor, MemoryCachedState, SyncRequestInfo,
39};