public StateStoreConnectionStateWriter( IReactiveStateStoreConnection connection, CheckpointKind checkpointKind, Action onCommit = null, Action onRollback = null) { _connection = connection ?? throw new ArgumentNullException(nameof(connection)); _onCommit = onCommit; _onRollback = onRollback; _stagedChanges = new ConcurrentBag <StagedChange>(); CheckpointKind = checkpointKind; }
public static void ApplyStagedChange(this IReactiveStateStoreConnection connection, StagedChange change) { if (change is ToAdd itemToAdd) { connection.AddOrUpdateItem(itemToAdd.Item1, itemToAdd.Item2, itemToAdd.Item3); return; } if (change is ToRemove itemToRemove) { connection.RemoveItem(itemToRemove.Item1, itemToRemove.Item2); return; } throw new ArgumentException("Type of change to apply to is not recognized!"); }
public StateStoreConnectionStateReader(IReactiveStateStoreConnection connection) { _connection = connection; }