public void setPublisher(LocalSubscriberLink pub_link) { lock (parent) { IDictionary header = new Hashtable(); header["topic"] = parent.name; header["md5sum"] = parent.md5sum; header["callerid"] = this_node.Name; header["type"] = parent.datatype; header["tcp_nodelay"] = "1"; setHeader(new Header { Values = header }); } }
public void addLocalConnection(Publication pub) { lock (publisher_links_mutex) { if (_dropped) { return; } EDB.WriteLine("Creating intraprocess link for topic [{0}]", name); LocalPublisherLink pub_link = new LocalPublisherLink(this, XmlRpcManager.Instance.uri); LocalSubscriberLink sub_link = new LocalSubscriberLink(pub); pub_link.setPublisher(sub_link); sub_link.setSubscriber(pub_link); addPublisherLink(pub_link); pub.addSubscriberLink(sub_link); } }