private static void MakeExperiment(string experimentName, IEventsProcessor eventsProcessor, IEventsSource eventsSource) { Console.WriteLine($"=========== {experimentName} ==========="); var stopWatch = new Stopwatch(); stopWatch.Start(); eventsProcessor.Process(eventsSource); stopWatch.Stop(); Console.WriteLine($"Duration of experiment = {stopWatch.ElapsedMilliseconds} milliseconds."); }
public EventsProcessorHostedService(IEventsProcessor eventsProcessor) => _eventsProcessor = eventsProcessor;
protected BaseEventsRequestProcessor(IEventsProcessor eventsProcessor) { _eventProcessors = new Dictionary <BotEvent, Func <BaseEventsBotRequest <JToken>, Task <BaseEventsBotResponse <IBotEventsResponseBody> > > > { { BotEvent.PostedGroupTaskComment, async request => CastResponse( await ProcessWrapper <BaseEventsBotRequest <PostGroupDicussWithTaskRequest>, PostGroupDicussWithTaskRequest, BaseEventsBotResponse <PostGroupDicussResponse>, PostGroupDicussResponse>(request, CreateRequest, eventsProcessor.ProcessAsync), request.token) }, { BotEvent.PostedGroupComment, async request => CastResponse( await ProcessWrapper <BaseEventsBotRequest <PostGroupDicussRequest>, PostGroupDicussRequest, BaseEventsBotResponse <PostGroupDicussResponse>, PostGroupDicussResponse>(request, CreateRequest, eventsProcessor.ProcessAsync), request.token) }, { BotEvent.UpdatedGroupComment, async request => CastResponse( await ProcessWrapper <BaseEventsBotRequest <UpdateGroupDicussRequest>, UpdateGroupDicussRequest, BaseEventsBotResponse <PostGroupDicussResponse>, PostGroupDicussResponse>(request, CreateRequest, eventsProcessor.ProcessAsync), request.token) }, { BotEvent.UpdatedGroupTaskComment, async request => CastResponse( await ProcessWrapper <BaseEventsBotRequest <UpdateGroupDicussWithTaskRequest>, UpdateGroupDicussWithTaskRequest, BaseEventsBotResponse <PostGroupDicussResponse>, PostGroupDicussResponse>(request, CreateRequest, eventsProcessor.ProcessAsync), request.token) }, { BotEvent.PostedGroupEvent, async request => CastResponse( await ProcessWrapper <BaseEventsBotRequest <PostGroupEventRequest>, PostGroupEventRequest, BaseEventsBotResponse <PostGroupDicussResponse>, PostGroupDicussResponse>(request, CreateRequest, eventsProcessor.ProcessAsync), request.token) }, { BotEvent.PostedGroupTaskEvent, async request => CastResponse( await ProcessWrapper <BaseEventsBotRequest <PostGroupEventWithTaskRequest>, PostGroupEventWithTaskRequest, BaseEventsBotResponse <PostGroupDicussResponse>, PostGroupDicussResponse>(request, CreateRequest, eventsProcessor.ProcessAsync), request.token) }, { BotEvent.UpdatedGroupEvent, async request => CastResponse( await ProcessWrapper <BaseEventsBotRequest <UpdateGroupEventRequest>, UpdateGroupEventRequest, BaseEventsBotResponse <PostGroupDicussResponse>, PostGroupDicussResponse>(request, CreateRequest, eventsProcessor.ProcessAsync), request.token) }, { BotEvent.UpdatedGroupTaskEvent, async request => CastResponse( await ProcessWrapper <BaseEventsBotRequest <UpdateGroupEventWithTaskRequest>, UpdateGroupEventWithTaskRequest, BaseEventsBotResponse <PostGroupDicussResponse>, PostGroupDicussResponse>(request, CreateRequest, eventsProcessor.ProcessAsync), request.token) }, { BotEvent.Message, async request => CastResponse( await ProcessWrapper <BaseEventsBotRequest <PostMessageRequest>, PostMessageRequest, BaseEventsBotResponse <PostMessageResponse>, PostMessageResponse>(request, CreateRequest, eventsProcessor.ProcessAsync), request.token) } }; }
public EventsRequestProcessor(IEventsProcessor eventsProcessor) : base(eventsProcessor) { }