Beispiel #1
0
        public void removeEntryRoutingTable(subscribeParameters parameters)
        {
            routingEvents eventToRemove  = new routingEvents();
            bool          canRemoveEvent = false;

            foreach (routingEvents RoutingEventToRemove in routingTable)
            {
                if (RoutingEventToRemove.Topic.Equals(parameters.topicName) && RoutingEventToRemove.UrlSubscriberOnTopic.Equals(parameters.urlSubCreator))
                {
                    canRemoveEvent                     = true;
                    eventToRemove.Topic                = RoutingEventToRemove.Topic;
                    eventToRemove.UrlBrokerSender      = RoutingEventToRemove.UrlBrokerSender;
                    eventToRemove.UrlSubscriberOnTopic = RoutingEventToRemove.UrlSubscriberOnTopic;
                }
            }
            if (canRemoveEvent)
            {
                routingTable.Remove(eventToRemove);
            }
        }
Beispiel #2
0
        public void UpdateRoutingTable(subscribeParameters parameters)
        {
            bool cantCreateNewEvent = false;

            foreach (routingEvents Event in routingTable)
            {
                if (Event.Topic.Equals(parameters.topicName) && Event.UrlSubscriberOnTopic.Equals(parameters.urlSubCreator))
                {
                    cantCreateNewEvent = true;
                }
            }
            if (!cantCreateNewEvent)
            {
                routingEvents newEventArrived = new routingEvents();
                newEventArrived.Topic                = parameters.topicName;
                newEventArrived.UrlBrokerSender      = parameters.urlBrokerSender;
                newEventArrived.UrlSubscriberOnTopic = parameters.urlSubCreator;
                routingTable.Add(newEventArrived);
                Console.WriteLine("RoutingTable Updated on: " + brokerData.name + " for topic: " + parameters.topicName + " sender: " + parameters.urlBrokerSender + " creator: " + parameters.urlSubCreator);
            }
        }