Specialized template when the user prefers a callbacks that accepts a generic google::protobuf::message instead of a specific type. 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 &_type) const |
Create a specific protobuf message given its serialized data. | |
bool | RunLocalCallback (const ProtoMsg &_msg, const MessageInfo &_info) |
Executes the local callback registered for this handler. | |
void | SetCallback (const MsgCallback< ProtoMsg > &_cb) |
Set the callback for this handler. | |
std::string | TypeName () |
Get the type of the messages from which this subscriber handler is subscribed. | |
Public Member Functions inherited from ISubscriptionHandler | |
ISubscriptionHandler (const std::string &_nUuid, const SubscribeOptions &_opts=SubscribeOptions()) | |
Constructor. | |
virtual | ~ISubscriptionHandler ()=default |
Destructor. | |
Public Member Functions inherited from SubscriptionHandlerBase | |
SubscriptionHandlerBase (const std::string &_nUuid, const SubscribeOptions &_opts=SubscribeOptions()) | |
Constructor. | |
virtual | ~SubscriptionHandlerBase ()=default |
Destructor. | |
std::string | HandlerUuid () const |
Get the unique UUID of this handler. | |
bool | IgnoreLocalMessages () const |
Return whether local messages are ignored or not. | |
std::string | NodeUuid () const |
Get the node UUID. | |
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. | |
Protected Attributes inherited from SubscriptionHandlerBase | |
std::string | hUuid |
Unique handler's UUID. | |
Timestamp | lastCbTimestamp |
Timestamp of the last callback executed. | |
SubscribeOptions | opts |
Subscribe options. | |
double | periodNs |
If throttling is enabled, the minimum period for receiving a message in nanoseconds. | |
Detailed Description
Specialized template when the user prefers a callbacks that accepts a generic google::protobuf::message instead of a specific type.
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(), and shared_ptr< T >::reset().
◆ 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.
◆ TypeName()
|
inlinevirtual |
Get the type of the messages from which this subscriber handler is subscribed.
- Returns
- String representation of the message type.
Implements SubscriptionHandlerBase.
References gz::transport::kGenericMessageType.
The documentation for this class was generated from the following file: