public void Subscribe(Subscriber.Subscriber subscriber) { if (subscribers.Any(x => x.Id == subscriber.Id)) { Console.WriteLine("this person has been subscribed before"); return; } SubscriberInfo subscriberInfo = AdapterTarget.Convert(subscriber.personalInformation, subscriber.Id); subscribers.Add(subscriberInfo); Console.WriteLine(subscriberInfo.ToString()); }
public void addSubscriber(Subscriber.Subscriber s) { _subscribers.Add(s); }
public void createProcess(String processName, String type, String Site, String Url) { element targetSite = this.findElement(networkTree, Site); Broker.Broker b; Publisher.Publisher p; Subscriber.Subscriber s; string brokerUrl = ""; if (targetSite == null) { Console.WriteLine("No target site found..."); } else { switch (type) { case "broker": if (_routingPolicy) { b = new Broker.Broker(processName, Url, Site, "filter", _ordering, this._masterURL, _loggingLevel, _faultTolerant); } else { b = new Broker.Broker(processName, Url, Site, "flooding", _ordering, this._masterURL, _loggingLevel, _faultTolerant); } if (targetSite.getParent() != null) { foreach (string url in targetSite.getParent().getBrokerUrls()) { b.addParentUrl(url); } foreach (Broker.Broker parentBroker in targetSite.getParent().getBrokers()) { parentBroker.addChildUrl(Url); } } if (_faultTolerant && targetSite.getBrokers() != null) { foreach (string url in targetSite.getBrokerUrls()) { b.addBackupUrl(url); } foreach (Broker.Broker backupBroker in targetSite.getBrokers()) { backupBroker.addBackupUrl(Url); } } Console.WriteLine(b.getProcessName()); _brokers.Add(b); targetSite.addBroker(b); //writeToLog("Broker " + processName + " created on " + Site + " with process URL " + Url); break; case "publisher": p = new Publisher.Publisher(processName, Url, Site, this._masterURL); foreach (Broker.Broker sb in targetSite.getBrokers()) { p.addBrokerURL(sb.getProcessURL()); } _publishers.Add(p); targetSite.addPublisher(p); //writeToLog("Publisher " + processName + " created on " + Site + " with process URL " + Url); break; case "subscriber": brokerUrl = targetSite.getBrokerUrls().ElementAt(0); s = new Subscriber.Subscriber(processName, Url, Site, this._masterURL, _ordering); foreach (Broker.Broker pb in targetSite.getBrokers()) { s.addBrokerURL(pb.getProcessURL()); } _subscribers.Add(s); targetSite.addSubscriber(s); foreach (Broker.Broker broker in targetSite.getBrokers()) { broker.addSubscriberUrl(Url); } //writeToLog("Subscriber " + processName + " created on " + Site + " with process URL " + Url); break; } } }
public void connectToNode(string type, string name) { Node target = null; bool fail = false; foreach (Broker.Broker br in _brokers) { if (br.getProcessName() == name) { target = br; } } foreach (Subscriber.Subscriber sr in _subscribers) { if (sr.getProcessName() == name) { target = sr; } } foreach (Publisher.Publisher pr in _publishers) { if (pr.getProcessName() == name) { target = pr; } } switch (type) { case "broker": _remoteBroker = (Broker.Broker)Activator.GetObject(typeof(Broker.Broker), target.getProcessURL()); if (_remoteBroker == null) { fail = true; } break; case "subscriber": _remoteSub = (Subscriber.Subscriber)Activator.GetObject(typeof(Subscriber.Subscriber), target.getProcessURL()); if (_remoteSub == null) { fail = true; } break; case "publisher": _remotePub = (Publisher.Publisher)Activator.GetObject(typeof(Publisher.Publisher), target.getProcessURL()); if (_remotePub == null) { fail = true; } break; } if (fail) { Console.WriteLine("Could not extablish Proxy to " + target.getProcessURL()); } else { Console.WriteLine("Established Proxy to: " + target.getProcessURL()); } }
public void Unsubscribe(Subscriber.Subscriber subscriber) { var subInfo = subscribers.Find(s => s.Id == subscriber.Id); subscribers.Remove(subInfo); }