Crate sync15

Source

Modules§

bso
client
A module for everything needed to be a “sync client” - ie, a device which can perform a full sync of any number of collections, including managing the server state.
clients_engine
The client engine is a crate::engine(Sync Engine) used to manage the “clients” collection. The clients engine manages the client record for “this device, and also manages “commands”. In short, commands target one or more engines and instruct them to perform various operations - such as wiping all local data. These commands are used very rarely - currently the only command used in practice is for bookmarks to wipe all their data, which is sent when a desktop device restores all bookmarks from a backup. In this scenario, desktop will delete all local bookmarks then replace them with the backed up set, which without a “wipe” command would almost certainly cause other connected devices to “resurrect” the deleted bookmarks.
engine
This module is used by crates which need to implement a “sync engine”. At a high-level, a “sync engine” is code which knows how to take records from a sync server, apply and reconcile them with the local data, then provide records which should be uploaded to the server.
telemetry
Manage recording sync telemetry. Assumes some external telemetry library/code which manages submitting.

Structs§

ClientData
Argument to Store::prepare_for_sync. See comment there for more info. Only really intended to be used by tabs engine.
EncryptedPayload
A representation of an encrypted payload. Used as the payload in EncryptedBso and also anywhere else the sync keys might be used to encrypt/decrypt, such as send-tab payloads.
Guid
This is a type intended to be used to represent the guids used by sync. It has several benefits over using a String:
KeyBundle
RemoteClient
Information about a remote client in the clients collection.
ServerTimestamp
Typesafe way to manage server timestamps without accidentally mixing them up with local ones.

Enums§

DeviceType
Enumeration for the different types of device.
Error

Type Aliases§

CollectionName
Result