public void removeSubscriberLink(SubscriberLink link) { SubscriberLink lnk = null; lock (subscriber_links_mutex) { if (Dropped) { return; } if (subscriber_links.Contains(link)) { lnk = link; subscriber_links.Remove(lnk); if (subscriber_links.Count == 0) { PollManager.Instance.removePollThreadListener(processPublishQueue); } } } if (lnk != null) { peerDisconnect(lnk); } }
public void peerDisconnect(SubscriberLink sub_link) { //EDB.WriteLine("PEER DISCONNECT: [" + sub_link.topic + "]"); foreach (SubscriberCallbacks cbs in callbacks) { if (cbs.disconnect != null && cbs.Callback != null) { CallbackInterface cb = new PeerConnDisconnCallback(cbs.disconnect, sub_link); cbs.Callback.addCallback(cb, cbs.Get()); } } }
public void addSubscriberLink(SubscriberLink link) { lock (subscriber_links_mutex) { if (Dropped) { return; } subscriber_links.Add(link); } if (Latch && last_message != null) { link.enqueueMessage(last_message, true, true); } peerConnect(link); }
public void addSubscriberLink(SubscriberLink link) { lock (subscriber_links_mutex) { if (Dropped) { return; } subscriber_links.Add(link); PollManager.Instance.addPollThreadListener(processPublishQueue); } if (Latch && last_message != null) { link.enqueueMessage(last_message); } peerConnect(link); }
public void removeSubscriberLink(SubscriberLink link) { SubscriberLink lnk = null; lock (subscriber_links_mutex) { if (Dropped) { return; } if (subscriber_links.Contains(link)) { lnk = link; subscriber_links.Remove(lnk); } } if (lnk != null) { peerDisconnect(lnk); } }
public PeerConnDisconnCallback(SubscriberStatusCallback callback, SubscriberLink sub_link) { this.callback = callback; this.sub_link = sub_link; }
public SingleSubscriberPublisher(SubscriberLink link) { this.link = link; }
public void removeSubscriberLink(SubscriberLink link) { SubscriberLink lnk = null; lock (subscriber_links_mutex) { if (Dropped) return; if (subscriber_links.Contains(link)) { lnk = link; subscriber_links.Remove(lnk); if (subscriber_links.Count == 0) PollManager.Instance.removePollThreadListener(processPublishQueue); } } if (lnk != null) peerDisconnect(lnk); }
public void addSubscriberLink(SubscriberLink link) { lock (subscriber_links_mutex) { if (Dropped) return; subscriber_links.Add(link); PollManager.Instance.addPollThreadListener(processPublishQueue); } if (Latch && last_message != null) { link.enqueueMessage(last_message); } peerConnect(link); }