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); } }
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); } }