Crate taskchampion_sync_server_core

Source
Expand description

This crate implements the core logic of the taskchampion sync protocol.

This should be considered a reference implementation, with the protocol documentation. representing the authoritative definition of the protocol. Other implementations are encouraged.

This crate uses an abstract storage backend. Note that this does not implement the HTTP-specific portions of the protocol, nor provide any storage implementations.

§Usage

To use, create a new Server instance and call the relevant protocol API methods. The arguments and return values correspond closely to the protocol documentation.

Structs§

Client
A representation of stored metadata about a client.
InMemoryStorage
In-memory storage for testing and experimentation.
Server
A server implementing the TaskChampion sync protocol.
ServerConfig
ServerConfig contains configuration parameters for the server.
Snapshot
Metadata about a snapshot, not including the snapshot data itself.
Version

Enums§

AddVersionResult
Response to add_version
GetVersionResult
Response to get_child_version. See the protocol documentation.
ServerError
An error from the crate::Server type.
SnapshotUrgency
Urgency of a snapshot for a client; used to create the X-Snapshot-Request header.

Constants§

NIL_VERSION_ID
The distinguished value for “no version”

Traits§

Storage
A trait for objects able to act as storage. Most of the interesting behavior is in the crate::storage::StorageTxn trait.
StorageTxn
A transaction in the storage backend.

Type Aliases§

ClientId
HistorySegment
VersionId