Public Member Functions | Private Types | Private Attributes | List of all members
rosrt::Publisher< M > Class Template Reference

a realtime-safe ROS publisher More...

#include <publisher.h>

Inheritance diagram for rosrt::Publisher< M >:
Inheritance graph
[legend]

Public Member Functions

boost::shared_ptr< M > allocate ()
 Allocate a message. The message will have been constructed with the template provided to initialize() More...
 
const ros::PublishergetPublisher ()
 Returns the ros::Publisher object in use. More...
 
void initialize (const ros::Publisher &pub, uint32_t message_pool_size, const M &tmpl)
 initialization function. Only use with the default constructor More...
 
void initialize (ros::NodeHandle &nh, const std::string &topic, uint32_t ros_publisher_queue_size, uint32_t message_pool_size, const M &tmpl)
 Constructor with initialization, simple version. More...
 
bool publish (const MConstPtr &msg)
 Publish a message. More...
 
 Publisher ()
 Default constructor. You must call initialize() before you use this publisher for anything else. More...
 
 Publisher (const ros::Publisher &pub, uint32_t message_pool_size, const M &tmpl)
 Constructor with initialization. More...
 
 Publisher (ros::NodeHandle &nh, const std::string &topic, uint32_t ros_publisher_queue_size, uint32_t message_pool_size, const M &tmpl)
 Constructor with initialization, simple version. More...
 
 ~Publisher ()
 

Private Types

typedef boost::shared_ptr< M const > MConstPtr
 

Private Attributes

lockfree::ObjectPool< M > * pool_
 
ros::Publisher pub_
 

Detailed Description

template<typename M>
class rosrt::Publisher< M >

a realtime-safe ROS publisher

Definition at line 83 of file publisher.h.

Member Typedef Documentation

template<typename M>
typedef boost::shared_ptr<M const> rosrt::Publisher< M >::MConstPtr
private

Definition at line 85 of file publisher.h.

Constructor & Destructor Documentation

template<typename M>
rosrt::Publisher< M >::Publisher ( )
inline

Default constructor. You must call initialize() before you use this publisher for anything else.

Definition at line 92 of file publisher.h.

template<typename M>
rosrt::Publisher< M >::Publisher ( const ros::Publisher< M > &  pub,
uint32_t  message_pool_size,
const M &  tmpl 
)
inline

Constructor with initialization.

Parameters
pubA ros::Publisher to use to actually publish any messages
message_pool_sizeThe size of the message pool to provide
tmplA template object to intialize all the messages in the message pool with

Definition at line 103 of file publisher.h.

template<typename M>
rosrt::Publisher< M >::Publisher ( ros::NodeHandle nh,
const std::string &  topic,
uint32_t  ros_publisher_queue_size,
uint32_t  message_pool_size,
const M &  tmpl 
)
inline

Constructor with initialization, simple version.

Parameters
nhThe NodeHandle to act on
topicThe topic to publish on
ros_publisher_queue_sizeThe queue size to pass to NodeHandle::advertise()
message_pool_sizeThe size of the message pool to provide
tmplA template object to intialize all the messages in the message pool with

Definition at line 116 of file publisher.h.

template<typename M>
rosrt::Publisher< M >::~Publisher ( )
inline

Definition at line 121 of file publisher.h.

Member Function Documentation

template<typename M>
boost::shared_ptr<M> rosrt::Publisher< M >::allocate ( )
inline

Allocate a message. The message will have been constructed with the template provided to initialize()

Definition at line 165 of file publisher.h.

template<typename M>
const ros::Publisher& rosrt::Publisher< M >::getPublisher ( )
inline

Returns the ros::Publisher object in use.

Definition at line 174 of file publisher.h.

template<typename M>
void rosrt::Publisher< M >::initialize ( const ros::Publisher< M > &  pub,
uint32_t  message_pool_size,
const M &  tmpl 
)
inline

initialization function. Only use with the default constructor

Parameters
pubA ros::Publisher to use to actually publish any messages
message_pool_sizeThe size of the message pool to provide
tmplA template object to intialize all the messages in the message pool with

Definition at line 133 of file publisher.h.

template<typename M>
void rosrt::Publisher< M >::initialize ( ros::NodeHandle nh,
const std::string &  topic,
uint32_t  ros_publisher_queue_size,
uint32_t  message_pool_size,
const M &  tmpl 
)
inline

Constructor with initialization, simple version.

Parameters
nhThe NodeHandle to act on
topicThe topic to publish on
ros_publisher_queue_sizeThe queue size to pass to NodeHandle::advertise()
message_pool_sizeThe size of the message pool to provide
tmplA template object to intialize all the messages in the message pool with

Definition at line 148 of file publisher.h.

template<typename M>
bool rosrt::Publisher< M >::publish ( const MConstPtr msg)
inline

Publish a message.

Definition at line 156 of file publisher.h.

Member Data Documentation

template<typename M>
lockfree::ObjectPool<M>* rosrt::Publisher< M >::pool_
private

Definition at line 178 of file publisher.h.

template<typename M>
ros::Publisher rosrt::Publisher< M >::pub_
private

Definition at line 177 of file publisher.h.


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


rosrt
Author(s): Josh Faust
autogenerated on Fri Apr 5 2019 02:16:39