All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
ignition::transport::SubscriptionHandler< T > Class Template Reference

It creates a subscription handler for a specific protobuf message. More...

#include <SubscriptionHandler.hh>

Inheritance diagram for ignition::transport::SubscriptionHandler< T >:
Inheritance graph
[legend]

Public Member Functions

 SubscriptionHandler (const std::string &_nUuid, const SubscribeOptions &_opts=SubscribeOptions())
 
const std::shared_ptr< ProtoMsgCreateMsg (const std::string &_data, const std::string &) const
 Create a specific protobuf message given its serialized data. More...
 
bool RunLocalCallback (const ProtoMsg &_msg, const MessageInfo &_info)
 Executes the local callback registered for this handler. More...
 
void SetCallback (const MsgCallback< T > &_cb)
 Set the callback for this handler. More...
 
std::string TypeName ()
 Get the type of the messages from which this subscriber handler is subscribed. More...
 
- Public Member Functions inherited from ignition::transport::ISubscriptionHandler
 ISubscriptionHandler (const std::string &_nUuid, const SubscribeOptions &_opts=SubscribeOptions())
 Constructor. More...
 
virtual ~ISubscriptionHandler ()
 Destructor. More...
 
std::string HandlerUuid () const
 Get the unique UUID of this handler. More...
 
std::string NodeUuid () const
 Get the node UUID. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ignition::transport::ISubscriptionHandler
bool UpdateThrottling ()
 Check if message subscription is throttled. More...
 
- Protected Attributes inherited from ignition::transport::ISubscriptionHandler
std::string hUuid
 Unique handler's UUID. More...
 
Timestamp lastCbTimestamp
 Timestamp of the last callback executed. More...
 
SubscribeOptions opts
 Subscribe options. More...
 
double periodNs
 If throttling is enabled, the minimum period for receiving a message in nanoseconds. More...
 

Detailed Description

template<typename T>
class ignition::transport::SubscriptionHandler< T >

It creates a subscription handler for a specific protobuf message.

'T' is the Protobuf message type that will be used for this particular handler.

Constructor & Destructor Documentation

template<typename T >
ignition::transport::SubscriptionHandler< T >::SubscriptionHandler ( const std::string &  _nUuid,
const SubscribeOptions _opts = SubscribeOptions() 
)
inlineexplicit

Member Function Documentation

template<typename T >
const std::shared_ptr<ProtoMsg> ignition::transport::SubscriptionHandler< T >::CreateMsg ( const std::string &  _data,
const std::string &  _type 
) const
inlinevirtual

Create a specific protobuf message given its serialized data.

Parameters
[in]_dataThe serialized data.
[in]_typeThe data type.
Returns
Pointer to the specific protobuf message.

Implements ignition::transport::ISubscriptionHandler.

template<typename T >
bool ignition::transport::SubscriptionHandler< T >::RunLocalCallback ( const ProtoMsg _msg,
const MessageInfo _info 
)
inlinevirtual

Executes the local callback registered for this handler.

Parameters
[in]_msgProtobuf message received.
[in]_infoMessage information (e.g.: topic name).
Returns
True when success, false otherwise.

Implements ignition::transport::ISubscriptionHandler.

References ignition::transport::ISubscriptionHandler::UpdateThrottling().

template<typename T >
void ignition::transport::SubscriptionHandler< T >::SetCallback ( const MsgCallback< T > &  _cb)
inline

Set the callback for this handler.

Parameters
[in]_cbThe callback with the following parameters:
template<typename T >
std::string ignition::transport::SubscriptionHandler< T >::TypeName ( )
inlinevirtual

Get the type of the messages from which this subscriber handler is subscribed.

Returns
String representation of the message type.

Implements ignition::transport::ISubscriptionHandler.


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