コード例 #1
0
 public StreamingSystem(IChatClient chatClient, IFollowerService followerService,
                        ICurrencyGenerator currencyGenerator, ISubscriberHandler subscriberHandler,
                        IStreamingInfoService streamingInfoService)
 {
     _chatClient           = chatClient;
     _followerService      = followerService;
     _currencyGenerator    = currencyGenerator;
     _subscriberHandler    = subscriberHandler;
     _streamingInfoService = streamingInfoService;
 }
コード例 #2
0
 public KafkaSubscriber(ILoggerFactory loggerFactory,
                        ConsumerConfig config,
                        ISubscriberHandler handler,
                        IEnumerable <string> topics)
 {
     _config  = config;
     _logger  = loggerFactory.CreateLogger(nameof(KafkaSubscriber) + "-" + config.GroupId);
     _handler = handler;
     _topics  = topics;
 }
コード例 #3
0
        public void TestInitialize()
        {
            var eventAggregator = new Mock <IEventAggregator>();

            _handler = new SubscriberHandler(eventAggregator.Object);
        }
コード例 #4
0
 public SubscriberBehaviorWrapper(ISubscriberHandler <T> subscriber)
 {
     _subscriber = subscriber ?? throw new ArgumentNullException(nameof(subscriber));
 }
コード例 #5
0
        public static List <Strategy> LoadStrategies(IEventAggregator eventAggregator, ISubscriberHandler handler)
        {
            return(new List <Strategy>
            {
                new Strategy(s => s.Equals("i"), s => handler.AddSubscriber <int>()),
                new Strategy(s => s.Equals("s"), s => handler.AddSubscriber <string>()),
                new Strategy(s => s.Equals("a"), s => handler.DisplaySubscribers()),
                new Strategy(s => s.StartsWith("us "), s => handler.Unsubscribe(s.Remove(0, s.IndexOf(' ') + 1))),
                new Strategy(s => s.StartsWith("ss "), s => handler.Subscribe(s.Remove(0, s.IndexOf(' ') + 1))),
                new Strategy(s => s.StartsWith("d "), s => handler.DeleteSubscriber(s.Remove(0, s.IndexOf(' ') + 1))),
                new Strategy(s => s.StartsWith("p "), s =>
                {
                    var input = s.Remove(0, s.IndexOf(' ') + 1);
                    var output = 0;

                    if (int.TryParse(input, out output))
                    {
                        eventAggregator.Publish(output);
                    }
                    else
                    {
                        eventAggregator.Publish(input);
                    }
                })
            });
        }