Skip to content

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 sgns::crdt::CrdtOptions = crdt::CrdtOptions;

using CrdtDatastore

using sgns::crdt::CrdtDatastore = crdt::CrdtDatastore;

using HierarchicalKey

using sgns::crdt::HierarchicalKey = crdt::HierarchicalKey;

using GraphsyncDAGSyncer

using sgns::crdt::GraphsyncDAGSyncer = crdt::GraphsyncDAGSyncer;

using RocksdbDatastore

using sgns::crdt::RocksdbDatastore = ipfs_lite::ipfs::RocksdbDatastore;

using IpfsRocksDb

using sgns::crdt::IpfsRocksDb = ipfs_lite::rocksdb;

using GossipPubSub

using sgns::crdt::GossipPubSub = ipfs_pubsub::GossipPubSub;

using GraphsyncImpl

using sgns::crdt::GraphsyncImpl = ipfs_lite::ipfs::graphsync::GraphsyncImpl;

using CryptoProvider

using sgns::crdt::CryptoProvider = libp2p::crypto::CryptoProviderImpl;

using KeyMarshaller

using sgns::crdt::KeyMarshaller = libp2p::crypto::marshaller::KeyMarshallerImpl;

using KeyValidator

using sgns::crdt::KeyValidator = libp2p::crypto::validator::KeyValidatorImpl;

using CRDTBroadcast

using sgns::crdt::CRDTBroadcast = pb::CRDTBroadcast;

Updated on 2026-03-04 at 13:10:43 -0800