예제 #1
0
 public void SetPublisher(LocalSubscriberLink link)
 {
     lock (gate)
     {
         var headerFields = new Dictionary <string, string>
         {
             ["topic"]       = Parent.Name,
             ["md5sum"]      = Parent.Md5Sum,
             ["callerid"]    = ThisNode.Name,
             ["type"]        = Parent.DataType,
             ["tcp_nodelay"] = "1"
         };
         SetHeader(new Header(headerFields));
     }
 }
예제 #2
0
 public void setPublisher(LocalSubscriberLink pub_link)
 {
     lock ( parent )
     {
         var header = new Dictionary <string, string>();
         header["topic"]       = parent.name;
         header["md5sum"]      = parent.md5sum;
         header["callerid"]    = ThisNode.Name;
         header["type"]        = parent.datatype;
         header["tcp_nodelay"] = "1";
         setHeader(new Header {
             Values = header
         });
     }
 }
예제 #3
0
        public void AddLocalConnection(Publication pub)
        {
            lock (gate)
            {
                if (IsDisposed)
                {
                    return;
                }

                logger.LogInformation("Creating intraprocess link for topic [{0}]", Name);

                var pub_link = new LocalPublisherLink(this, XmlRpcManager.Instance.Uri);
                var sub_link = new LocalSubscriberLink(pub);
                pub_link.SetPublisher(sub_link);
                sub_link.SetSubscriber(pub_link);

                AddPublisherLink(pub_link);
                pub.AddSubscriberLink(sub_link);
            }
        }
예제 #4
0
        public void addLocalConnection(Publication pub)
        {
            lock ( publisher_links_mutex )
            {
                if (_dropped)
                {
                    return;
                }

                ROS.Info()($"[{ThisNode.Name}] Creating intraprocess link for topic [{name}]");

                var pub_link = new LocalPublisherLink(this, XmlRpcManager.Instance.Uri);
                var sub_link = new LocalSubscriberLink(pub);
                pub_link.setPublisher(sub_link);
                sub_link.SetSubscriber(pub_link);

                addPublisherLink(pub_link);
                pub.addSubscriberLink(sub_link);
            }
        }