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. |