Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
ros::SubscribeOptions Struct Reference

Encapsulates all options available for creating a Subscriber. More...

#include <subscribe_options.h>

Public Member Functions

template<class M >
void init (const std::string &_topic, uint32_t _queue_size, const boost::function< void(const boost::shared_ptr< M const > &)> &_callback, const boost::function< boost::shared_ptr< M >(void)> &factory_fn=DefaultMessageCreator< M >())
 Templated initialization, templated on message type. Only supports "const boost::shared_ptr<M const>&" callback types. More...
 
template<class P >
void initByFullCallbackType (const std::string &_topic, uint32_t _queue_size, const boost::function< void(P)> &_callback, const boost::function< boost::shared_ptr< typename ParameterAdapter< P >::Message >(void)> &factory_fn=DefaultMessageCreator< typename ParameterAdapter< P >::Message >())
 Templated initialization, templated on callback parameter type. Supports any callback parameters supported by the SubscriptionCallbackAdapter. More...
 
 SubscribeOptions ()
 
 SubscribeOptions (const std::string &_topic, uint32_t _queue_size, const std::string &_md5sum, const std::string &_datatype)
 Constructor. More...
 

Static Public Member Functions

template<class M >
static SubscribeOptions create (const std::string &topic, uint32_t queue_size, const boost::function< void(const boost::shared_ptr< M const > &)> &callback, const VoidConstPtr &tracked_object, CallbackQueueInterface *queue)
 Templated helper function for creating an AdvertiseServiceOptions with most of its options. More...
 

Public Attributes

bool allow_concurrent_callbacks
 
CallbackQueueInterfacecallback_queue
 Queue to add callbacks to. If NULL, the global callback queue will be used. More...
 
std::string datatype
 Datatype of the message we'd like to subscribe as. More...
 
SubscriptionCallbackHelperPtr helper
 Helper object used to get create messages and call callbacks. More...
 
std::string md5sum
 MD5 of the message datatype. More...
 
uint32_t queue_size
 Number of incoming messages to queue up for processing (messages in excess of this queue capacity will be discarded). More...
 
std::string topic
 Topic to subscribe to. More...
 
VoidConstPtr tracked_object
 An object whose destruction will prevent the callback associated with this subscription. More...
 
TransportHints transport_hints
 Hints for transport type and options. More...
 

Detailed Description

Encapsulates all options available for creating a Subscriber.

Definition at line 43 of file subscribe_options.h.

Constructor & Destructor Documentation

◆ SubscribeOptions() [1/2]

ros::SubscribeOptions::SubscribeOptions ( )
inline

Definition at line 48 of file subscribe_options.h.

◆ SubscribeOptions() [2/2]

ros::SubscribeOptions::SubscribeOptions ( const std::string &  _topic,
uint32_t  _queue_size,
const std::string &  _md5sum,
const std::string &  _datatype 
)
inline

Constructor.

Parameters
_topicTopic to subscribe on
_queue_sizeNumber of incoming messages to queue up for processing (messages in excess of this queue capacity will be discarded).
_md5sum
_datatype

Definition at line 64 of file subscribe_options.h.

Member Function Documentation

◆ create()

template<class M >
static SubscribeOptions ros::SubscribeOptions::create ( const std::string &  topic,
uint32_t  queue_size,
const boost::function< void(const boost::shared_ptr< M const > &)> &  callback,
const VoidConstPtr tracked_object,
CallbackQueueInterface queue 
)
inlinestatic

Templated helper function for creating an AdvertiseServiceOptions with most of its options.

Parameters
topicTopic name to subscribe to
queue_sizeNumber of incoming messages to queue up for processing (messages in excess of this queue capacity will be discarded).
callbackThe callback to invoke when a message is received on this topic
tracked_objectThe tracked object to use (see SubscribeOptions::tracked_object)
queueThe callback queue to use (see SubscribeOptions::callback_queue)

Definition at line 154 of file subscribe_options.h.

◆ init()

template<class M >
void ros::SubscribeOptions::init ( const std::string &  _topic,
uint32_t  _queue_size,
const boost::function< void(const boost::shared_ptr< M const > &)> &  _callback,
const boost::function< boost::shared_ptr< M >(void)> &  factory_fn = DefaultMessageCreator<M>() 
)
inline

Templated initialization, templated on message type. Only supports "const boost::shared_ptr<M const>&" callback types.

Parameters
_topicTopic to subscribe on
_queue_sizeNumber of incoming messages to queue up for processing (messages in excess of this queue capacity will be discarded).
_callbackCallback to call when a message arrives on this topic

Definition at line 103 of file subscribe_options.h.

◆ initByFullCallbackType()

template<class P >
void ros::SubscribeOptions::initByFullCallbackType ( const std::string &  _topic,
uint32_t  _queue_size,
const boost::function< void(P)> &  _callback,
const boost::function< boost::shared_ptr< typename ParameterAdapter< P >::Message >(void)> &  factory_fn = DefaultMessageCreator<typename ParameterAdapter<P>::Message>() 
)
inline

Templated initialization, templated on callback parameter type. Supports any callback parameters supported by the SubscriptionCallbackAdapter.

Parameters
_topicTopic to subscribe on
_queue_sizeNumber of incoming messages to queue up for processing (messages in excess of this queue capacity will be discarded).
_callbackCallback to call when a message arrives on this topic

Definition at line 82 of file subscribe_options.h.

Member Data Documentation

◆ allow_concurrent_callbacks

bool ros::SubscribeOptions::allow_concurrent_callbacks

By default subscription callbacks are guaranteed to arrive in-order, with only one callback happening for this subscription at any given time. Setting this to true allows you to receive multiple messages on the same topic from multiple threads at the same time

Definition at line 127 of file subscribe_options.h.

◆ callback_queue

CallbackQueueInterface* ros::SubscribeOptions::callback_queue

Queue to add callbacks to. If NULL, the global callback queue will be used.

Definition at line 123 of file subscribe_options.h.

◆ datatype

std::string ros::SubscribeOptions::datatype

Datatype of the message we'd like to subscribe as.

Definition at line 119 of file subscribe_options.h.

◆ helper

SubscriptionCallbackHelperPtr ros::SubscribeOptions::helper

Helper object used to get create messages and call callbacks.

Definition at line 121 of file subscribe_options.h.

◆ md5sum

std::string ros::SubscribeOptions::md5sum

MD5 of the message datatype.

Definition at line 118 of file subscribe_options.h.

◆ queue_size

uint32_t ros::SubscribeOptions::queue_size

Number of incoming messages to queue up for processing (messages in excess of this queue capacity will be discarded).

Definition at line 116 of file subscribe_options.h.

◆ topic

std::string ros::SubscribeOptions::topic

Topic to subscribe to.

Definition at line 115 of file subscribe_options.h.

◆ tracked_object

VoidConstPtr ros::SubscribeOptions::tracked_object

An object whose destruction will prevent the callback associated with this subscription.

A shared pointer to an object to track for these callbacks. If set, the a weak_ptr will be created to this object, and if the reference count goes to 0 the subscriber callbacks will not get called.

Note
Note that setting this will cause a new reference to be added to the object before the callback, and for it to go out of scope (and potentially be deleted) in the code path (and therefore thread) that the callback is invoked from.

Definition at line 139 of file subscribe_options.h.

◆ transport_hints

TransportHints ros::SubscribeOptions::transport_hints

Hints for transport type and options.

Definition at line 141 of file subscribe_options.h.


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


roscpp
Author(s): Morgan Quigley, Josh Faust, Brian Gerkey, Troy Straszheim, Dirk Thomas , Jacob Perron
autogenerated on Thu Nov 23 2023 04:01:45