protected ProjectionSubscriptionBase( Guid projectionCorrelationId, Guid subscriptionId, CheckpointTag from, IHandle<ProjectionSubscriptionMessage.CommittedEventReceived> eventHandler, IHandle<ProjectionSubscriptionMessage.CheckpointSuggested> checkpointHandler, IHandle<ProjectionSubscriptionMessage.ProgressChanged> progressHandler, IHandle<ProjectionSubscriptionMessage.EofReached> eofHandler, CheckpointStrategy checkpointStrategy, long? checkpointUnhandledBytesThreshold, bool stopOnEof) { if (eventHandler == null) throw new ArgumentNullException("eventHandler"); if (checkpointHandler == null) throw new ArgumentNullException("checkpointHandler"); if (progressHandler == null) throw new ArgumentNullException("progressHandler"); if (eofHandler == null) throw new ArgumentNullException("eofHandler"); if (checkpointStrategy == null) throw new ArgumentNullException("checkpointStrategy"); _eventHandler = eventHandler; _checkpointHandler = checkpointHandler; _progressHandler = progressHandler; _eofHandler = eofHandler; _checkpointStrategy = checkpointStrategy; _checkpointUnhandledBytesThreshold = checkpointUnhandledBytesThreshold; _stopOnEof = stopOnEof; _projectionCorrelationId = projectionCorrelationId; _subscriptionId = subscriptionId; _lastPassedOrCheckpointedEventPosition = null; _eventFilter = checkpointStrategy.EventFilter; _positionTagger = checkpointStrategy.PositionTagger; _positionTracker = new PositionTracker(_positionTagger); _positionTracker.UpdateByCheckpointTagInitial(@from); }
protected ReaderSubscriptionBase( IPublisher publisher, Guid subscriptionId, CheckpointTag @from, IReaderStrategy readerStrategy, ITimeProvider timeProvider, long? checkpointUnhandledBytesThreshold, int? checkpointProcessedEventsThreshold, bool stopOnEof, int? stopAfterNEvents) { if (publisher == null) throw new ArgumentNullException("publisher"); if (readerStrategy == null) throw new ArgumentNullException("readerStrategy"); if (timeProvider == null) throw new ArgumentNullException("timeProvider"); if (checkpointProcessedEventsThreshold > 0 && stopAfterNEvents > 0) throw new ArgumentException("checkpointProcessedEventsThreshold > 0 && stopAfterNEvents > 0"); _publisher = publisher; _readerStrategy = readerStrategy; _timeProvider = timeProvider; _checkpointUnhandledBytesThreshold = checkpointUnhandledBytesThreshold; _checkpointProcessedEventsThreshold = checkpointProcessedEventsThreshold; _stopOnEof = stopOnEof; _stopAfterNEvents = stopAfterNEvents; _subscriptionId = subscriptionId; _lastPassedOrCheckpointedEventPosition = null; _eventFilter = readerStrategy.EventFilter; _positionTagger = readerStrategy.PositionTagger; _positionTracker = new PositionTracker(_positionTagger); _positionTracker.UpdateByCheckpointTagInitial(@from); }
public ParallelQueryAllStreamsMasterReaderStrategy( int phase, IPrincipal runAs, ITimeProvider timeProvider) { _runAs = runAs; _timeProvider = timeProvider; _eventFilter = new StreamEventFilter("$streams", true, null); _positionTagger = new CatalogStreamPositionTagger(phase, "$streams"); }
public ParallelQueryMasterReaderStrategy( int phase, IPrincipal runAs, ITimeProvider timeProvider, string catalogStream) { _runAs = runAs; _timeProvider = timeProvider; _catalogStream = catalogStream; _eventFilter = new StreamEventFilter(catalogStream, true, null); _positionTagger = new CatalogStreamPositionTagger(phase, catalogStream); }
public ExternallyFedReaderStrategy( int phase, IPrincipal runAs, ITimeProvider timeProvider, long limitingCommitPosition) { _phase = phase; _runAs = runAs; _timeProvider = timeProvider; _eventFilter = new BypassingEventFilter(); _positionTagger = new PreTaggedPositionTagger( phase, CheckpointTag.FromByStreamPosition(phase, "", -1, null, -1, limitingCommitPosition)); }
protected virtual void When() { _ef = null; try { _ef = _builder.Build(new RealTimeProvider(), runAs: null).EventFilter; } catch (Exception ex) { _exception = ex; } }
protected virtual void When() { _ef = null; try { _ef = _builder.Build().EventFilter; } catch (Exception ex) { _exception = ex; } }
protected virtual void When() { _ef = null; try { _ef = _builder.Build(ProjectionConfig.GetTest()).EventFilter; } catch (Exception ex) { _exception = ex; } }
protected virtual void When() { _ef = null; try { _ef = _builder.Build(ProjectionMode.Persistent).EventFilter; } catch (Exception ex) { _exception = ex; } }
protected virtual void When() { _ef = null; try { var sources = _builder.Build(); _ef = ReaderStrategy.Create(0, sources, new RealTimeProvider(), stopOnEof: false, runAs: null).EventFilter; } catch (Exception ex) { _exception = ex; } }
public ExternallyFedReaderStrategy( string tag, int phase, ITimeProvider timeProvider, long limitingCommitPosition) { _tag = tag; _timeProvider = timeProvider; _eventFilter = new BypassingEventFilter(); _positionTagger = new PreTaggedPositionTagger( phase, CheckpointTag.FromByStreamPosition(phase, "", -1, null, -1, limitingCommitPosition)); }
private CheckpointStrategy( bool allStreams, HashSet<string> categories, HashSet<string> streams, bool allEvents, HashSet<string> events, bool byStream) { _allStreams = allStreams; _categories = categories; _streams = streams; _allEvents = allEvents; _events = events; _byStream = byStream; _eventFilter = CreateEventFilter(); _positionTagger = CreatePositionTagger(); _statePartitionSelector = CreateStatePartitionSelector(); }
private CheckpointStrategy( bool allStreams, HashSet<string> categories, HashSet<string> streams, bool allEvents, HashSet<string> events, bool byStream, bool byCustomPartitions, bool useEventIndexes, bool reorderEvents, int processingLag, bool emitStateUpdated, bool useCheckpoints) { _allStreams = allStreams; _categories = categories; _streams = streams; _allEvents = allEvents; _events = events; _byStream = byStream; _byCustomPartitions = byCustomPartitions; _useEventIndexes = useEventIndexes; _reorderEvents = reorderEvents; _processingLag = processingLag; _emitStateUpdated = emitStateUpdated; _useCheckpoints = useCheckpoints; _eventFilter = CreateEventFilter(); _positionTagger = CreatePositionTagger(); }
public ProjectionSubscription( Guid projectionCorrelationId, CheckpointTag from, IHandle<ProjectionMessage.Projections.CommittedEventReceived> eventHandler, IHandle<ProjectionMessage.Projections.CheckpointSuggested> checkpointHandler, CheckpointStrategy checkpointStrategy, long? checkpointUnhandledBytesThreshold) { if (eventHandler == null) throw new ArgumentNullException("eventHandler"); if (checkpointHandler == null) throw new ArgumentNullException("checkpointHandler"); if (checkpointStrategy == null) throw new ArgumentNullException("checkpointStrategy"); _eventHandler = eventHandler; _checkpointHandler = checkpointHandler; _checkpointStrategy = checkpointStrategy; _checkpointUnhandledBytesThreshold = checkpointUnhandledBytesThreshold; _projectionCorrelationId = projectionCorrelationId; _lastPassedOrCheckpointedEventPosition = from.Position; _eventFilter = checkpointStrategy.EventFilter; _positionTagger = checkpointStrategy.PositionTagger; _positionTracker = new PositionTracker(_positionTagger); _positionTracker.UpdateByCheckpointTagInitial(from); }
private ReaderStrategy( int phase, bool allStreams, string[] categories, string[] streams, bool allEvents, bool includeLinks, string[] events, string catalogStream, int? processingLag, bool reorderEvents, IPrincipal runAs, ITimeProvider timeProvider) { _phase = phase; _allStreams = allStreams; _categories = categories != null && categories.Length > 0 ? new HashSet<string>(categories) : null; _streams = streams != null && streams.Length > 0 ? new HashSet<string>(streams) : null; _allEvents = allEvents; _includeLinks = includeLinks; _events = events != null && events.Length > 0 ? new HashSet<string>(events) : null; _catalogStream = catalogStream; _processingLag = processingLag.GetValueOrDefault(); _reorderEvents = reorderEvents; _runAs = runAs; _eventFilter = CreateEventFilter(); _positionTagger = CreatePositionTagger(); _timeProvider = timeProvider; }
private ReaderStrategy( bool allStreams, HashSet<string> categories, HashSet<string> streams, bool allEvents, bool includeLinks, HashSet<string> events, int processingLag, bool reorderEvents, IPrincipal runAs, ITimeProvider timeProvider) { _allStreams = allStreams; _categories = categories; _streams = streams; _allEvents = allEvents; _includeLinks = includeLinks; _events = events; _processingLag = processingLag; _reorderEvents = reorderEvents; _runAs = runAs; _eventFilter = CreateEventFilter(); _positionTagger = CreatePositionTagger(); _timeProvider = timeProvider; }