gz/transport/SubscriptionHandler.hh
Go to the documentation of this file.
Interface class used to manage generic protobuf messages.
Definition: gz/transport/SubscriptionHandler.hh:123
ISubscriptionHandler(const std::string &_nUuid, const SubscribeOptions &_opts=SubscribeOptions())
Constructor.
virtual const std::shared_ptr< ProtoMsg > CreateMsg(const std::string &_data, const std::string &_type) const =0
Create a specific protobuf message given its serialized data.
virtual ~ISubscriptionHandler()=default
Destructor.
virtual bool RunLocalCallback(const ProtoMsg &_msg, const MessageInfo &_info)=0
Executes the local callback registered for this handler.
A class that provides information about the message received.
Definition: gz/transport/MessageInfo.hh:36
Definition: gz/transport/SubscriptionHandler.hh:340
void SetCallback(const RawCallback &_callback)
Set the callback of this handler.
std::string TypeName() override
Get the type of the messages from which this subscriber handler is subscribed.
~RawSubscriptionHandler()
Destructor.
RawSubscriptionHandler(const std::string &_nUuid, const std::string &_msgType=kGenericMessageType, const SubscribeOptions &_opts=SubscribeOptions())
Constructor.
bool RunRawCallback(const char *_msgData, const size_t _size, const MessageInfo &_info)
Executes the raw callback registered for this handler.
A class to provide different options for a subscription.
Definition: gz/transport/SubscribeOptions.hh:38
SubscriptionHandlerBase contains functions and data which are common to all SubscriptionHandler types...
Definition: gz/transport/SubscriptionHandler.hh:58
virtual std::string TypeName()=0
Get the type of the messages from which this subscriber handler is subscribed.
Timestamp lastCbTimestamp
Timestamp of the last callback executed.
Definition: gz/transport/SubscriptionHandler.hh:104
double periodNs
If throttling is enabled, the minimum period for receiving a message in nanoseconds.
Definition: gz/transport/SubscriptionHandler.hh:92
std::string HandlerUuid() const
Get the unique UUID of this handler.
SubscriptionHandlerBase(const std::string &_nUuid, const SubscribeOptions &_opts=SubscribeOptions())
Constructor.
std::string hUuid
Unique handler's UUID.
Definition: gz/transport/SubscriptionHandler.hh:101
bool UpdateThrottling()
Check if message subscription is throttled. If so, verify whether the callback should be executed or ...
virtual ~SubscriptionHandlerBase()=default
Destructor.
std::string NodeUuid() const
Get the node UUID.
SubscribeOptions opts
Subscribe options.
Definition: gz/transport/SubscriptionHandler.hh:88
const std::shared_ptr< ProtoMsg > CreateMsg(const std::string &_data, const std::string &_type) const
Create a specific protobuf message given its serialized data.
Definition: gz/transport/SubscriptionHandler.hh:263
SubscriptionHandler(const std::string &_nUuid, const SubscribeOptions &_opts=SubscribeOptions())
Definition: gz/transport/SubscriptionHandler.hh:256
void SetCallback(const MsgCallback< ProtoMsg > &_cb)
Set the callback for this handler.
Definition: gz/transport/SubscriptionHandler.hh:307
std::string TypeName()
Get the type of the messages from which this subscriber handler is subscribed.
Definition: gz/transport/SubscriptionHandler.hh:300
bool RunLocalCallback(const ProtoMsg &_msg, const MessageInfo &_info)
Executes the local callback registered for this handler.
Definition: gz/transport/SubscriptionHandler.hh:313
It creates a subscription handler for a specific protobuf message. 'T' is the Protobuf message type t...
Definition: gz/transport/SubscriptionHandler.hh:157
const std::shared_ptr< ProtoMsg > CreateMsg(const std::string &_data, const std::string &) const
Create a specific protobuf message given its serialized data.
Definition: gz/transport/SubscriptionHandler.hh:166
SubscriptionHandler(const std::string &_nUuid, const SubscribeOptions &_opts=SubscribeOptions())
Definition: gz/transport/SubscriptionHandler.hh:159
void SetCallback(const MsgCallback< T > &_cb)
Set the callback for this handler.
Definition: gz/transport/SubscriptionHandler.hh:191
std::string TypeName()
Get the type of the messages from which this subscriber handler is subscribed.
Definition: gz/transport/SubscriptionHandler.hh:184
bool RunLocalCallback(const ProtoMsg &_msg, const MessageInfo &_info)
Executes the local callback registered for this handler.
Definition: gz/transport/SubscriptionHandler.hh:197
T endl(T... args)
Definition: gz/transport/AdvertiseOptions.hh:29
std::chrono::steady_clock::time_point Timestamp
Definition: gz/transport/TransportTypes.hh:153
const std::string kGenericMessageType
The string type used for generic messages.
Definition: gz/transport/TransportTypes.hh:172
google::protobuf::Message ProtoMsg
Definition: gz/transport/TransportTypes.hh:68
T reset(T... args)