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.
§API Methods
The following API methods are implemented. These methods are documented in more detail in the protocol documentation.
Each API method takes:
StorageTxnto access storage. Methods which modify storage will commit the transaction before returning.ServerConfigproviding basic configuration for the server’s behavior.client_idand aClientproviding the client metadata.
Structs§
- A representation of stored metadata about a client.
- In-memory storage for testing and experimentation.
- ServerConfig contains configuration parameters for the server.
- Metadata about a snapshot, not including the snapshot data itself.
Enums§
- Response to add_version
- Response to get_child_version. See the protocol documentation.
- Urgency of a snapshot for a client; used to create the
X-Snapshot-Requestheader.
Constants§
- The distinguished value for “no version”
Traits§
- A trait for objects able to act as storage. Most of the interesting behavior is in the
crate::storage::StorageTxntrait. - A transaction in the storage backend.
Functions§
- Implementation of the AddSnapshot protocol transaction
- Implementation of the AddVersion protocol transaction
- Implementation of the GetChildVersion protocol transaction.
- Implementation of the GetSnapshot protocol transaction