Ejemplo n.º 1
0
 internal void Publish(MessageAndSerializerFunc msg)
 {
     lock (gate)
     {
         publishQueue.TryOnNext(msg);
     }
 }
Ejemplo n.º 2
0
 public override void EnqueueMessage(MessageAndSerializerFunc holder)
 {
     if (!outbox.TryOnNext(holder))
     {
         // TODO: handle queue full case
     }
 }
Ejemplo n.º 3
0
        internal void Append(string message, ROSOUT_LEVEL level, CallerInfo callerInfo)
        {
            var logMessage = new Log
            {
                msg      = message,
                name     = ThisNode.Name,
                file     = callerInfo.FilePath,
                function = callerInfo.MemberName,
                line     = (uint)callerInfo.LineNumber,
                level    = (byte)level,
                header   = new Messages.std_msgs.Header {
                    stamp = ROS.GetTime()
                }
            };

            logMessage.topics = topicManager.GetAdvertisedTopics();
            queue.TryOnNext(logMessage);
        }
Ejemplo n.º 4
0
 public override void EnqueueMessage(MessageAndSerializerFunc holder)
 {
     outbox.TryOnNext(holder); // queue will drop oldest messages when full
 }