It creates a subscription handler for a specific protobuf message. 'T' is the Protobuf message type that will be used for this particular handler. More...
#include <SubscriptionHandler.hh>
Public Member Functions | |
SubscriptionHandler (const std::string &_nUuid, const SubscribeOptions &_opts=SubscribeOptions()) | |
const std::shared_ptr< ProtoMsg > | CreateMsg (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 ISubscriptionHandler | |
ISubscriptionHandler (const std::string &_nUuid, const SubscribeOptions &_opts=SubscribeOptions()) | |
Constructor. More... | |
virtual | ~ISubscriptionHandler ()=default |
Destructor. More... | |
Public Member Functions inherited from SubscriptionHandlerBase | |
SubscriptionHandlerBase (const std::string &_nUuid, const SubscribeOptions &_opts=SubscribeOptions()) | |
Constructor. More... | |
virtual | ~SubscriptionHandlerBase ()=default |
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 SubscriptionHandlerBase | |
bool | UpdateThrottling () |
Check if message subscription is throttled. If so, verify whether the callback should be executed or not. More... | |
Protected Attributes inherited from SubscriptionHandlerBase | |
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 gz::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
◆ SubscriptionHandler()
|
inlineexplicit |
Member Function Documentation
◆ CreateMsg()
|
inlinevirtual |
Create a specific protobuf message given its serialized data.
- Parameters
-
[in] _data The serialized data. [in] _type The data type.
- Returns
- Pointer to the specific protobuf message.
Implements ISubscriptionHandler.
References std::endl().
◆ RunLocalCallback()
|
inlinevirtual |
Executes the local callback registered for this handler.
- Parameters
-
[in] _msg Protobuf message received. [in] _info Message information (e.g.: topic name).
- Returns
- True when success, false otherwise.
Implements ISubscriptionHandler.
References std::endl(), and SubscriptionHandlerBase::UpdateThrottling().
◆ SetCallback()
|
inline |
Set the callback for this handler.
- Parameters
-
[in] _cb The callback with the following parameters:
◆ TypeName()
|
inlinevirtual |
Get the type of the messages from which this subscriber handler is subscribed.
- Returns
- String representation of the message type.
Implements SubscriptionHandlerBase.
The documentation for this class was generated from the following file: