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::CRDTWorkJournal Tracks key processing lifecycle persisted in RocksDB. |
| 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 |
Functions¶
| Name | |
|---|---|
| base::Logger | CRDTSet() |
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¶
Functions Documentation¶
function CRDTSet¶
Updated on 2026-06-05 at 17:22:18 -0700