A publisher of messages on a topic. More...
#include <transport/transport.hh>
Public Member Functions | |
| Publisher (const std::string &_topic, const std::string &_msgType, unsigned int _limit, double _hzRate) | |
| Constructor.  More... | |
| virtual | ~Publisher () | 
| Destructor.  More... | |
| void | Fini () | 
| Finalize the publisher.  More... | |
| std::string | GetMsgType () const | 
| Get the message type.  More... | |
| unsigned int | GetOutgoingCount () const | 
| Get the number of outgoing messages.  More... | |
| std::string | GetPrevMsg () const | 
| Get the previously published message.  More... | |
| MessagePtr | GetPrevMsgPtr () const | 
| Get the previously published message.  More... | |
| std::string | GetTopic () const | 
| Get the topic name.  More... | |
| bool | HasConnections () const | 
| Are there any connections?  More... | |
| uint32_t | Id () const | 
| Get the id of this publisher.  More... | |
| void | Publish (const google::protobuf::Message &_message, bool _block=false) | 
| Publish a protobuf message on the topic.  More... | |
| template<typename M > | |
| void | Publish (M _message, bool _block=false) | 
| Publish an arbitrary message on the topic.  More... | |
| void | SendMessage () | 
| Send latest message over the wire. For internal use only.  More... | |
| void | SetNode (NodePtr _node) | 
| Set our containing node.  More... | |
| void | SetPublication (PublicationPtr _publication) | 
| Set the publication object for a particular publication.  More... | |
| void | WaitForConnection () const | 
| Block until a connection has been established with this publisher.  More... | |
| bool | WaitForConnection (const common::Time &_timeout) const | 
| Block until a connection has been established with this publisher.  More... | |
A publisher of messages on a topic.
| Publisher | ( | const std::string & | _topic, | 
| const std::string & | _msgType, | ||
| unsigned int | _limit, | ||
| double | _hzRate | ||
| ) | 
Constructor.
| [in] | _topic | Name of topic to be published | 
| [in] | _msgType | Type of the message to be published | 
| [in] | _limit | Maximum number of outgoing messages to queue | 
| [in] | _hz | Update rate for the publisher. Units are 1.0/seconds. | 
      
  | 
  virtual | 
Destructor.
| void Fini | ( | ) | 
Finalize the publisher.
Referenced by Publisher::Publish().
| std::string GetMsgType | ( | ) | const | 
| unsigned int GetOutgoingCount | ( | ) | const | 
Get the number of outgoing messages.
Referenced by Publisher::Publish().
| std::string GetPrevMsg | ( | ) | const | 
Get the previously published message.
Referenced by Publisher::Publish().
| MessagePtr GetPrevMsgPtr | ( | ) | const | 
Get the previously published message.
Referenced by Publisher::Publish().
| std::string GetTopic | ( | ) | const | 
| bool HasConnections | ( | ) | const | 
Are there any connections?
| uint32_t Id | ( | ) | const | 
Get the id of this publisher.
Referenced by Publisher::Publish().
      
  | 
  inline | 
Publish a protobuf message on the topic.
| [in] | _message | Message to be published | 
| [in] | _block | Whether to block until the message is actually written out | 
      
  | 
  inline | 
Publish an arbitrary message on the topic.
| [in] | _message | Message to be published | 
| [in] | _block | Whether to block until the message is actually written out | 
References Publisher::Fini(), Publisher::GetMsgType(), Publisher::GetOutgoingCount(), Publisher::GetPrevMsg(), Publisher::GetPrevMsgPtr(), Publisher::GetTopic(), Publisher::Id(), Publisher::SendMessage(), and Publisher::SetNode().
| void SendMessage | ( | ) | 
Send latest message over the wire. For internal use only.
Referenced by Publisher::Publish().
| void SetNode | ( | NodePtr | _node | ) | 
Set our containing node.
| [in] | _node | Pointer to a node. Should be the node that create this publisher. | 
Referenced by Publisher::Publish().
| void SetPublication | ( | PublicationPtr | _publication | ) | 
Set the publication object for a particular publication.
| [in] | _publication | Pointer to the publication object to be set | 
| void WaitForConnection | ( | ) | const | 
Block until a connection has been established with this publisher.
| bool WaitForConnection | ( | const common::Time & | _timeout | ) | const | 
Block until a connection has been established with this publisher.
| [in] | _timeout | Maxiumum time to wait. Use a negative time value to wait forever. |