// Special constructor for building from a cached instance internal EventStream(IEventStream clone, IBuilder builder, IStoreStreams store, ISnapshot snapshot) { _store = store; _snapshots = builder.Build <IStoreSnapshots>(); _oobHandler = builder.Build <IOobHandler>(); _builder = builder; Bucket = clone.Bucket; StreamId = clone.StreamId; _snapshot = snapshot; _committed = clone.Committed.ToList(); _uncommitted = new List <IWritableEvent>(); _outofband = new List <IWritableEvent>(); _pendingShot = null;; // Todo: this is a hack // Get the commit id of the current message because we need it to make writable events _commitId = builder?.Build <IUnitOfWork>().CommitId ?? Guid.Empty; // The commit version is calculated based on an existing snapshot. // If restoring from cache with a new snapshot, we'll remove committed events before the snapshot if (_snapshot != null && Committed.Any() && Committed.First().Descriptor.Version <= _snapshot.Version) { _committed = _committed.Where(x => x.Descriptor.Version > _snapshot.Version); } }
public ResolveWeaklyConflictResolver(IStoreStreams eventstore, IDelayedChannel delay, StreamIdGenerator streamGen, int maxPulledDelayed) { _store = eventstore; _delay = delay; _streamGen = streamGen; _maxPulledDelayed = maxPulledDelayed; }
public ResolveWeaklyConflictResolver(IStoreStreams store, IStoreEvents eventstore, IDelayedChannel delay, StreamIdGenerator streamGen) { _store = store; _eventstore = eventstore; _delay = delay; _streamGen = streamGen; }
public Repository(IBuilder builder) { _builder = builder; _snapstore = _builder.Build <IStoreSnapshots>(); _store = _builder.Build <IStoreStreams>(); _settings = _builder.Build <ReadOnlySettings>(); _store.Builder = _builder; // Conflict resolution is strong by default if (_conflictResolution == null) { _conflictResolution = (OptimisticConcurrencyAttribute)Attribute.GetCustomAttribute(typeof(T), typeof(OptimisticConcurrencyAttribute)) ?? new OptimisticConcurrencyAttribute(ConcurrencyConflict.ResolveStrongly); } }
public EventStream(IBuilder builder, IStoreStreams store, string bucket, string streamId, IEnumerable <IWritableEvent> events, ISnapshot snapshot) { _store = store; _snapshots = builder?.Build <IStoreSnapshots>(); _oobHandler = builder?.Build <IOobHandler>(); _builder = builder; Bucket = bucket; StreamId = streamId; _committed = events?.ToList() ?? new List <IWritableEvent>(); _snapshot = snapshot; _uncommitted = new List <IWritableEvent>(); _outofband = new List <IWritableEvent>(); _pendingShots = new List <ISnapshot>(); }
// Special constructor for building from a cached instance internal EventStream(IEventStream clone, IBuilder builder, IStoreStreams store, ISnapshot snapshot) { _store = store; _snapshots = builder.Build <IStoreSnapshots>(); _oobHandler = builder.Build <IOobHandler>(); _builder = builder; Bucket = clone.Bucket; StreamId = clone.StreamId; _snapshot = snapshot; _committed = clone.Committed.ToList(); _uncommitted = new List <IWritableEvent>(); _outofband = new List <IWritableEvent>(); _pendingShots = new List <ISnapshot>(); if (_snapshot != null && Committed.Any() && Committed.First().Descriptor.Version <= _snapshot.Version) { _committed = _committed.Where(x => x.Descriptor.Version > _snapshot.Version); } }
public EventStream(IBuilder builder, IStoreStreams store, string streamType, string bucket, string streamId, IEnumerable <IWritableEvent> events, ISnapshot snapshot) { _store = store; _snapshots = builder?.Build <IStoreSnapshots>(); _oobHandler = builder?.Build <IOobHandler>(); _builder = builder; StreamType = streamType; Bucket = bucket; StreamId = streamId; _committed = events?.ToList() ?? new List <IWritableEvent>(); _snapshot = snapshot; _uncommitted = new List <IWritableEvent>(); _outofband = new List <IWritableEvent>(); _pendingShot = null; // Todo: this is a hack // Get the commit id of the current message because we need it to make writable events _commitId = builder?.Build <IUnitOfWork>().CommitId ?? Guid.Empty; }
public ResolveStronglyConflictResolver(IStoreStreams eventstore) { _store = eventstore; }
public ResolveWeaklyConflictResolver(IStoreStreams eventstore, IDelayedChannel delay) { _store = eventstore; _delay = delay; }
public ResolveStronglyConflictResolver(IStoreStreams store, IStoreEvents eventstore, StreamIdGenerator streamGen) { _store = store; _eventstore = eventstore; _streamGen = streamGen; }