Block a user
ZB.MOM.WW.CBDDC.Persistence (1.0.3)
Published 2026-02-20 13:51:38 -05:00 by dohertj2
Installation
dotnet nuget add source --name dohertj2 --username your_username --password your_token dotnet add package --source dohertj2 --version 1.0.3 ZB.MOM.WW.CBDDC.PersistenceAbout this package
Persistence provider for CBDDC.
ZB.MOM.WW.CBDDC.Persistence
BLite persistence provider and foundational persistence implementations for CBDDC.
What's Included
This package provides both BLite provider types and core persistence services:
- OplogStore: Base implementation for append-only operation log storage
- VectorClockService: Thread-safe in-memory vector clock management
- DocumentMetadataStore: Document versioning and metadata tracking
- SnapshotStore: Snapshot creation and restoration logic
- PeerConfigurationStore: Peer node configuration persistence
When To Use This Package
- As a Library User: Install this package to use CBDDC with BLite persistence.
- As a Provider Developer: Reference this package to build custom persistence providers by extending the base classes
Key Components
OplogStore
Base implementation for operation log storage with:
- Hash-chain verification
- Batch application
- Conflict resolution integration
- Change event notifications
VectorClockService
Thread-safe vector clock management:
- In-memory caching for fast lookups
- Atomic updates
- Causal ordering tracking
SnapshotStore
Snapshot lifecycle management:
- Creation and compression
- Restoration logic
- Metadata tracking
Creating a Custom Provider
To build your own persistence provider:
public class MyCustomOplogStore : OplogStore
{
public MyCustomOplogStore(
IDocumentStore documentStore,
IConflictResolver conflictResolver,
ISnapshotMetadataStore? snapshotMetadataStore,
IVectorClockService vectorClock)
: base(documentStore, conflictResolver, snapshotMetadataStore, vectorClock)
{
}
protected override async Task<List<OplogEntry>> GetNodeEntriesAsync(
string nodeId, CancellationToken cancellationToken)
{
// Implement storage-specific logic
}
// Implement other abstract methods...
}
Related Packages
- ZB.MOM.WW.CBDDC.Core - Core abstractions and interfaces
- ZB.MOM.WW.CBDDC.Network - P2P networking layer
Documentation
Installation
dotnet add package ZB.MOM.WW.CBDDC.Persistence
License
MIT - see LICENSE