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.
- InMemory
Storage - In-memory storage for testing and experimentation.
- Server
- A server implementing the TaskChampion sync protocol.
- Server
Config - ServerConfig contains configuration parameters for the server.
- Snapshot
- Metadata about a snapshot, not including the snapshot data itself.
- Version
Enums§
- AddVersion
Result - Response to add_version
- GetVersion
Result - Response to get_child_version. See the protocol documentation.
- Server
Error - An error from the
crate::Server
type. - Snapshot
Urgency - 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. - Storage
Txn - A transaction in the storage backend.