Ejemplo n.º 1
0
        public void OnMessage(Action <ChannelMessage> handler)
        {
            AssertOnMessage(handler);
            _handler = handler;

            _topicSubscription = _topic.CreateSubscription(MessageRecevied);
        }
        static public void Run()
        {
            try
            {
                InitializeCache();

                ITopicSubscription electronicsSubscription = RunSubscriber("ElectronicsOrders");
                ITopicSubscription garmentsSubscription    = RunSubscriber("GarmentsOrders");

                //Following patterns can be used;
                //* -	 represents zero or more characters. For example, ‘bl*’ finds TOPICs ‘black’, ‘blue’, and ‘blob’ etc.
                //? -	 represents one character. For example, ‘h?t’ finds ‘hot’, ‘hat’, and ‘hit’ etc.
                //[]-	 represents any single character within the brackets. For example, ‘h[oa]t’ finds hot and hat, but not hit.

                ITopicSubscription allOrdersSubscription = RunPatternBasedSubscriber("*Orders");

                Console.WriteLine("Press any key to stop subscribers...");
                Console.ReadLine();
                electronicsSubscription.UnSubscribe();
                garmentsSubscription.UnSubscribe();
                allOrdersSubscription.UnSubscribe();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        public void Activate(ITopicSubscription topicSubscription)
        {
            if (topicSubscription is null)
            {
                throw new ArgumentNullException(nameof(topicSubscription));
            }

            topicSubscription.EnsureInitialization(_connection, _messageParserRegistry);
        }
Ejemplo n.º 4
0
        public NeighPageController(UINeighPage view, IClientDataService dataService)
        {
            this.View        = view;
            this.DataService = dataService;
            this.Topic       = dataService.CreateTopicSubscription();

            ControllerUtils.BindController <RatingSummaryController>(this.View.MayorRatingBox1);
            ControllerUtils.BindController <RatingSummaryController>(this.View.MayorRatingBox2);
        }
Ejemplo n.º 5
0
        public PersonPageController(UIPersonPage view, IClientDataService dataService, Network.Network network)
        {
            this.View        = view;
            this.DataService = dataService;
            this.Network     = network;
            Topic            = dataService.CreateTopicSubscription();

            Network.CityClient.AddSubscriber(this);
        }
Ejemplo n.º 6
0
        public void Add(ITopicSubscription topicSubscription)
        {
            if (topicSubscription is null)
            {
                throw new ArgumentNullException(nameof(topicSubscription));
            }

            _topicSubscriptionActivator.Activate(topicSubscription);
            _topicSubscriptions.Add(topicSubscription);
        }
Ejemplo n.º 7
0
        public void Subscribe(TTopic id, TSubscriber subscriber, ITopicSubscription normalTopicSubscription)
        {
            if (!Subscribers.ContainsKey(id))
            {
                Subscribers[id] = new Dictionary <TSubscriber, ITopicSubscription>();
            }

            if (Subscribers[id].ContainsKey(subscriber))
            {
                return;
            }

            Subscribers[id].Add(subscriber, normalTopicSubscription);
            InvokeSubscriptionAdded(new EventSubscriptionEventArgs <TTopic, TSubscriber>(id, subscriber, Subscribers[id].Count));
        }
Ejemplo n.º 8
0
        /// <summary>
        /// stop match
        /// </summary>
        /// <param name="matchName">name of match</param>
        /// <returns></returns>
        public JsonResult OnPostStopMatch(string matchName)
        {
            try
            {
                _matchSubscription.UnSubscribe();
                _matchSubscription = null;
                _cache.MessagingService.DeleteTopic(matchName);
            }
            catch (Exception e)
            {
                return(new JsonResult(false));
            }

            return(new JsonResult(true));
        }
Ejemplo n.º 9
0
        /// <summary>
        /// start pub/sub and fetch stored match details from cache
        /// </summary>
        /// <param name="matchName">name of match</param>
        /// <returns>list of updates</returns>
        public JsonResult OnPostMatchDetails(string matchName)
        {
            // subscribe this server to ongoing match topic
            if (_matchSubscription == null)
            {
                ITopic topic = _cache.MessagingService.GetTopic(matchName);
                // if topic does not exist, return false
                if (topic == null)
                {
                    return(new JsonResult(false));
                }
                _matchSubscription = topic.CreateSubscription(MatchUpdates);
            }

            // fetch details of ongoing matches
            List <MatchUpdate> list = _storeHandler.FetchUpdates(matchName);

            return(new JsonResult(list));
        }
Ejemplo n.º 10
0
        static public void Run()
        {
            try
            {
                InitializeCache();

                ITopicSubscription electronicsSubscription = RunSubscriber("ElectronicsOrders");
                ITopicSubscription garmentsSubscription    = RunSubscriber("GarmentsOrders");

                Console.WriteLine("Press any key to stop subscribers...");
                Console.ReadLine();
                electronicsSubscription.UnSubscribe();
                garmentsSubscription.UnSubscribe();
                //allOrdersSubscription.UnSubscribe();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Ejemplo n.º 11
0
 public void SubscribeToTopic(ITopic topic, ITopicSubscription subscription)
 {
     HandlerResources.AwsCdkSnsHandler.SubscribeToTopic(topic, subscription);
 }
Ejemplo n.º 12
0
 public LotPageController(UILotPage view, IClientDataService dataService)
 {
     this.View        = view;
     this.DataService = dataService;
     this.Topic       = dataService.CreateTopicSubscription();
 }
Ejemplo n.º 13
0
 protected SubSourceLogic(SourceShape <Tuple <TopicPartition, Source <TMessage, NotUsed> > > shape,
                          SinkSettings <TKey, TValue> settings, ITopicSubscription subscription)
     : base(shape)
 {
 }
Ejemplo n.º 14
0
 public void SubscribeToTopic(ITopic topic, ITopicSubscription subscription)
 {
     topic.AddSubscription(subscription);
 }
 public ManageSubscriptionsHttp(ITopicSubscription topicSubscription)
 {
     _topicSubscription = topicSubscription;
 }
Ejemplo n.º 16
0
 public void DiscardTopicSubscription(ITopicSubscription subscription)
 {
     lock (_Topics) {
         _Topics.Remove((TopicSubscription)subscription);
     }
 }
Ejemplo n.º 17
0
 public static Source <KeyValuePair <RdKafka.TopicPartition, Source <CommittableMessage <TKey, TValue>, NotUsed> >, IAsyncDisposable> PartitionedCommittable <TKey, TValue>(
     SourceSettings <TKey, TValue> settings, ITopicSubscription subscription)
 {
     throw new NotImplementedException();
 }
 public bool DeleteTopicSubscription(Topic topic, ITopicSubscription subscription)
 {
     return DeleteTopicSubscription(topic.Name, subscription.GetID());
 }