##

Publisher Class Reference
Transport

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

## Detailed Description

A publisher of messages on a topic.

## Constructor & Destructor Documentation

## Publisher()

Publisher | ( | const std::string & | _topic,
|  | const std::string & | _msgType,
|  | unsigned int | _limit,
|  | double | _hzRate
| ) |  |

Constructor.

Parameters

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

## ~Publisher()

virtual ~Publisher | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## Fini()

void Fini | ( |  | ) |

Finalize the publisher.

## GetMsgType()

std::string GetMsgType | ( |  | ) | const

Get the message type.

Returns
  The message type

## GetOutgoingCount()

unsigned int GetOutgoingCount | ( |  | ) | const

Get the number of outgoing messages.

Returns
  The number of outgoing messages

## GetPrevMsg()

std::string GetPrevMsg | ( |  | ) | const

Get the previously published message.

Returns
  The previously published message, if any

## GetPrevMsgPtr()

MessagePtr GetPrevMsgPtr | ( |  | ) | const

Get the previously published message.

Returns
  The previously published message, if any

## GetTopic()

std::string GetTopic | ( |  | ) | const

Get the topic name.

Returns
  The topic name

## HasConnections()

bool HasConnections | ( |  | ) | const

Are there any connections?

Returns
  true if there are any connections, false otherwise

## Id()

uint32_t Id | ( |  | ) | const

Get the id of this publisher.

Returns
  Unique id of this publisher.

## Publish() [1/2]

void Publish | ( | const google::protobuf::Message & | _message,
|  | bool | _block = `false`
| ) |  |

inline

Publish a protobuf message on the topic.

Parameters

  [in] | _message | Message to be published
  [in] | _block | Whether to block until the message is actually written out

## Publish() [2/2]

void Publish | ( | M | _message,
|  | bool | _block = `false`
| ) |  |

inline

Publish an arbitrary message on the topic.

Parameters

  [in] | _message | Message to be published
  [in] | _block | Whether to block until the message is actually written out

## SendMessage()

void SendMessage | ( |  | ) |

Send latest message over the wire. For internal use only.

## SetNode()

void SetNode | ( | NodePtr | _node | ) |

Set our containing node.

Parameters

  [in] | _node | Pointer to a node. Should be the node that create this publisher.

## SetPublication()

void SetPublication | ( | PublicationPtr | _publication | ) |

Set the publication object for a particular publication.

Parameters

  [in] | _publication | Pointer to the publication object to be set

## WaitForConnection() [1/2]

void WaitForConnection | ( |  | ) | const

Block until a connection has been established with this publisher.

## WaitForConnection() [2/2]

bool WaitForConnection | ( | const common::Time & | _timeout | ) | const

Block until a connection has been established with this publisher.

Parameters

  [in] | _timeout | Maxiumum time to wait. Use a negative time value to wait forever.

Returns
  True if a connection was established.

The documentation for this class was generated from the following file:

- Publisher.hh