sgns::crdt¶
Classes¶
| Name | |
|---|---|
| class | sgns::crdt::AtomicTransaction AtomicTransaction provides atomic multi-key operations for CRDT datastore All operations within a transaction are combined into a single delta and published atomically to ensure consistency. |
| class | sgns::crdt::Broadcaster A Broadcaster provides a way to send (notify) an opaque payload to all replicas and to retrieve payloads broadcasted. |
| class | sgns::crdt::CRDTCallbackManager |
| class | sgns::crdt::CRDTDataFilter |
| class | sgns::crdt::CrdtDatastore Forward declaration of CRDT Set class. |
| class | sgns::crdt::CrdtHeads CrdtHeads manages the current Merkle-CRDT heads. |
| struct | sgns::crdt::CrdtOptions Options holds configurable values for CrdtDatastore. |
| class | sgns::crdt::CrdtSet CrdtSet implements an Add-Wins Observed-Remove Set using delta-CRDTs (https://arxiv.org/abs/1410.2803) and backing all the data in a datastore. It is fully agnostic to MerkleCRDTs or the delta distribution layer. It chooses the Value with most priority for a Key as the current Value. When two values have the same priority, it chooses by alphabetically sorting their unique IDs alphabetically. |
| class | sgns::crdt::DAGSyncer A DAGSyncer is an abstraction to an IPLD-based p2p storage layer. A DAGSyncer is a DAGService with the ability to publish new ipld nodes to the network, and retrieving others from it. |
| class | sgns::crdt::GlobalDB |
| class | sgns::crdt::KeyPairFileStorage |
| class | sgns::crdt::PubSubBroadcaster |
| class | sgns::crdt::PubSubBroadcasterExt Extended PubSub broadcaster that integrates with a CRDT datastore and Graphsync DAG syncer. |
| class | sgns::crdt::GraphsyncDAGSyncer A DAGSyncer is an abstraction to an IPLD-based p2p storage layer. A DAGSyncer is a DAGService with the ability to publish new ipld nodes to the network, and retrieving others from it. |
| class | sgns::crdt::HierarchicalKey A Key represents the unique identifier of an object, inspired by file systems and Google App Engine key model. Keys are meant to be unique across a system. Keys are hierarchical, incorporating more and more specific namespaces. Thus keys can be deemed 'children' or 'ancestors' of other keys:: Key("/Comedy") Key("/Comedy/MontyPython") Also, every namespace can be parametrized to embed relevant object information. For example, the Key name (most specific namespace) could include the object type:: Key("/Comedy/MontyPython/Actor:JohnCleese") Key("/Comedy/MontyPython/Sketch:CheeseShop") Key("/Comedy/MontyPython/Sketch:CheeseShop/Character:Mousebender"). |
Types¶
| Name | |
|---|---|
| using crdt::CrdtOptions | CrdtOptions |
| using crdt::CrdtDatastore | CrdtDatastore |
| using crdt::HierarchicalKey | HierarchicalKey |
| using crdt::GraphsyncDAGSyncer | GraphsyncDAGSyncer |
| using ipfs_lite::ipfs::RocksdbDatastore | RocksdbDatastore |
| using ipfs_lite::rocksdb | IpfsRocksDb |
| using ipfs_pubsub::GossipPubSub | GossipPubSub |
| using ipfs_lite::ipfs::graphsync::GraphsyncImpl | GraphsyncImpl |
| using libp2p::crypto::CryptoProviderImpl | CryptoProvider |
| using libp2p::crypto::marshaller::KeyMarshallerImpl | KeyMarshaller |
| using libp2p::crypto::validator::KeyValidatorImpl | KeyValidator |
| using pb::CRDTBroadcast | CRDTBroadcast |
Types Documentation¶
using CrdtOptions¶
using CrdtDatastore¶
using HierarchicalKey¶
using GraphsyncDAGSyncer¶
using RocksdbDatastore¶
using IpfsRocksDb¶
using GossipPubSub¶
using GraphsyncImpl¶
using CryptoProvider¶
using KeyMarshaller¶
using KeyValidator¶
using CRDTBroadcast¶
Updated on 2026-03-04 at 13:10:43 -0800