public EventConsumerActor( EventDataFormatter formatter, IEventStore eventStore, IEventConsumerInfoRepository eventConsumerInfoRepository, ISemanticLog log) { Guard.NotNull(log, nameof(log)); Guard.NotNull(formatter, nameof(formatter)); Guard.NotNull(eventStore, nameof(eventStore)); Guard.NotNull(eventConsumerInfoRepository, nameof(eventConsumerInfoRepository)); this.log = log; this.formatter = formatter; this.eventStore = eventStore; this.eventConsumerInfoRepository = eventConsumerInfoRepository; var options = new ExecutionDataflowBlockOptions { MaxMessagesPerTask = -1, MaxDegreeOfParallelism = 1, BoundedCapacity = 10 }; dispatcher = new ActionBlock <object>(OnMessage, options); }
public EventConsumerCleaner(IEnumerable <IEventConsumer> eventConsumers, IEventConsumerInfoRepository eventConsumerInfoRepository) { Guard.NotNull(eventConsumers, nameof(eventConsumers)); Guard.NotNull(eventConsumerInfoRepository, nameof(eventConsumerInfoRepository)); this.eventConsumers = eventConsumers; this.eventConsumerInfoRepository = eventConsumerInfoRepository; }
public MyEventConsumerActor( EventDataFormatter formatter, IEventStore eventStore, IEventConsumerInfoRepository eventConsumerInfoRepository, ISemanticLog log) : base(formatter, eventStore, eventConsumerInfoRepository, log) { }
public UpdateStateBlock(IEventConsumerInfoRepository eventConsumerInfoRepository, IEventConsumer eventConsumer, ISemanticLog log) { this.eventConsumerInfoRepository = eventConsumerInfoRepository; this.eventConsumer = eventConsumer; this.log = log; actionBlock = new ActionBlock <Envelope <IEvent> >(HandleAsync, new ExecutionDataflowBlockOptions { BoundedCapacity = 1 }); }
public void RunInitialize() { mongoDatabase = mongoClient.GetDatabase(Guid.NewGuid().ToString()); var log = new SemanticLog(new ILogChannel[0], new ILogAppender[0], () => new JsonLogWriter(Formatting.Indented, true)); eventConsumerInfos = new MongoEventConsumerInfoRepository(mongoDatabase); eventNotifier = new DefaultEventNotifier(new InMemoryPubSub()); eventStore = new MongoEventStore(mongoDatabase, eventNotifier); eventConsumer = new MyEventConsumer(NumEvents); eventReceiver = new EventReceiver(formatter, eventStore, eventNotifier, eventConsumerInfos, log); eventReceiver.Subscribe(eventConsumer); }
public EventReceiver( EventDataFormatter formatter, IEventStore eventStore, IEventConsumerInfoRepository eventConsumerInfoRepository, ISemanticLog log) { Guard.NotNull(log, nameof(log)); Guard.NotNull(formatter, nameof(formatter)); Guard.NotNull(eventStore, nameof(eventStore)); Guard.NotNull(eventConsumerInfoRepository, nameof(eventConsumerInfoRepository)); this.log = log; this.formatter = formatter; this.eventStore = eventStore; this.eventConsumerInfoRepository = eventConsumerInfoRepository; }
public EventConsumersController(IEventConsumerInfoRepository eventConsumerRepository, IActors actors) { this.eventConsumerRepository = eventConsumerRepository; this.actors = actors; }
public EventConsumersController(IEventConsumerInfoRepository eventConsumerRepository) { this.eventConsumerRepository = eventConsumerRepository; }