public ReplicatorSource(LightningPersistence lmdb, string ownReplicaId, KvTable kvTable, WriteLogTable wlTable, ReplicationConfig replicationConfig, CancellationToken cancellationToken, Func <SyncPacket, Task> responseStreamWriteAsync) { _lmdb = lmdb; _ownReplicaId = ownReplicaId; _kvTable = kvTable; _wlTable = wlTable; _replicationConfig = replicationConfig; _cancellationToken = cancellationToken; (_pumpTask, _responseStreamWriteAsync) = StartBufferedWrites(responseStreamWriteAsync); }
public ReplicatorSlave(LightningPersistence lmdb, string ownReplicaId, KvTable kvTable, ReplicationTable replicationTable, WriteLogTable wlTable, ReplicationConfig replicationConfig, Action <WriteTransaction, string, ulong?> updateClock) // TODO: Add ACKs streaming { _lmdb = lmdb; _ownReplicaId = ownReplicaId; _kvTable = kvTable; _replicationTable = replicationTable; _wlTable = wlTable; _replicationConfig = replicationConfig; _updateClock = updateClock; _replicationSources = new ConcurrentDictionary <string, ReplicatorSource>(); _cts = new CancellationTokenSource(); }
public KvTable(LightningPersistence lmdb, string kvTableName, string replicaId, ReplicaStatusTable statusTable, ExpiryTable expiryTable, KvMetadataTable metadataTable, WriteLogTable wlTable, Func <VectorClock> currentClock, Func <WriteTransaction, VectorClock> incrementClock, Func <Item[], Task> updateNotifier) { _lmdb = lmdb; _replicaId = replicaId; StatusTable = statusTable; _kvTable = _lmdb.OpenTable(kvTableName); _expiryTable = expiryTable; _metadataTable = metadataTable; _wlTable = wlTable; _currentClock = currentClock; _incrementClock = incrementClock; _updateNotifier = updateNotifier; }