Exemple #1
0
        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.");
        }
Exemple #2
0
 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)
         }
     };
 }
Exemple #4
0
 public EventsRequestProcessor(IEventsProcessor eventsProcessor) : base(eventsProcessor)
 {
 }