Public Member Functions | List of all members
ignition::transport::SubscriptionHandler< ProtoMsg > Class Template Reference

Specialized template when the user prefers a callbacks that accepts a generic google::protobuf::message instead of a specific type. More...

#include <SubscriptionHandler.hh>

Inheritance diagram for ignition::transport::SubscriptionHandler< ProtoMsg >:
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 &_type) 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< ProtoMsg > &_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<>
class ignition::transport::SubscriptionHandler< ProtoMsg >

Specialized template when the user prefers a callbacks that accepts a generic google::protobuf::message instead of a specific type.

Constructor & Destructor Documentation

§ SubscriptionHandler()

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

Member Function Documentation

§ CreateMsg()

const std::shared_ptr<ProtoMsg> ignition::transport::SubscriptionHandler< ProtoMsg >::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.

§ RunLocalCallback()

bool ignition::transport::SubscriptionHandler< ProtoMsg >::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.

§ SetCallback()

void ignition::transport::SubscriptionHandler< ProtoMsg >::SetCallback ( const MsgCallback< ProtoMsg > &  _cb)
inline

Set the callback for this handler.

Parameters
[in]_cbThe callback.

§ TypeName()

std::string ignition::transport::SubscriptionHandler< ProtoMsg >::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.

References ignition::transport::kGenericMessageType.


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