17 #ifndef IGN_TRANSPORT_NODE_HH_ 18 #define IGN_TRANSPORT_NODE_HH_ 25 #include <unordered_set> 30 #pragma warning(push, 0) 32 #include <ignition/msgs.hh> 38 #include "ignition/transport/config.hh" 39 #include "ignition/transport/Export.hh" 55 inline namespace IGNITION_TRANSPORT_VERSION_NAMESPACE {
69 class IGNITION_TRANSPORT_VISIBLE
Node 71 class PublisherPrivate;
104 public:
operator bool();
109 public:
operator bool()
const;
114 public:
bool Valid()
const;
121 public:
bool Publish(
const ProtoMsg &_msg);
144 public:
bool PublishRaw(
156 public:
bool ThrottledUpdateReady()
const;
161 private:
bool UpdateThrottling();
165 public:
bool HasConnections()
const;
175 #pragma warning(push) 176 #pragma warning(disable: 4251) 189 public:
virtual ~
Node();
199 public:
template<
typename MessageT>
233 public:
template<
typename MessageT>
236 void(*_callback)(
const MessageT &_msg),
247 public:
template<
typename MessageT>
263 public:
template<
typename ClassT,
typename MessageT>
266 void(ClassT::*_callback)(
const MessageT &_msg),
280 public:
template<
typename MessageT>
283 void(*_callback)(
const MessageT &_msg,
const MessageInfo &_info),
295 public:
template<
typename MessageT>
313 public:
template<
typename ClassT,
typename MessageT>
316 void(ClassT::*_callback)(
const MessageT &_msg,
331 public:
bool Unsubscribe(
const std::string &_topic);
345 public:
template<
typename RequestT,
typename ReplyT>
348 bool(*_callback)(
const RequestT &_request, ReplyT &_reply),
362 public:
template<
typename ReplyT>
365 bool(*_callback)(ReplyT &_reply),
378 public:
template<
typename RequestT>
381 void(*_callback)(
const RequestT &_request),
396 public:
template<
typename RequestT,
typename ReplyT>
400 ReplyT &_reply)> _callback,
414 public:
template<
typename ReplyT>
430 public:
template<
typename RequestT>
449 public:
template<
typename ClassT,
typename RequestT,
typename ReplyT>
452 bool(ClassT::*_callback)(
const RequestT &_request, ReplyT &_reply),
468 public:
template<
typename ClassT,
typename ReplyT>
471 bool(ClassT::*_callback)(ReplyT &_reply),
486 public:
template<
typename ClassT,
typename RequestT>
489 void(ClassT::*_callback)(
const RequestT &_request),
508 public:
template<
typename RequestT,
typename ReplyT>
511 const RequestT &_request,
512 void(*_callback)(
const ReplyT &_reply,
const bool _result));
524 public:
template<
typename ReplyT>
527 void(*_callback)(
const ReplyT &_reply,
const bool _result));
540 public:
template<
typename RequestT,
typename ReplyT>
543 const RequestT &_request,
545 const bool _result)> &_callback);
557 public:
template<
typename ReplyT>
561 const bool _result)> &_callback);
575 public:
template<
typename ClassT,
typename RequestT,
typename ReplyT>
578 const RequestT &_request,
579 void(ClassT::*_callback)(
const ReplyT &_reply,
const bool _result),
593 public:
template<
typename ClassT,
typename ReplyT>
596 void(ClassT::*_callback)(
const ReplyT &_reply,
const bool _result),
608 public:
template<
typename RequestT,
typename ReplyT>
611 const RequestT &_request,
612 const unsigned int &_timeout,
624 public:
template<
typename ReplyT>
627 const unsigned int &_timeout,
636 public:
template<
typename RequestT>
637 bool Request(
const std::string &_topic,
const RequestT &_request);
642 public:
bool UnadvertiseSrv(
const std::string &_topic);
671 public:
bool ServiceInfo(
688 public:
bool SubscribeRaw(
718 private:
bool SubscribeHelper(
const std::string &_fullyQualifiedTopic);
723 #pragma warning(push) 724 #pragma warning(disable: 4251) 737 #include "ignition/transport/detail/Node.hh"
A class for customizing the publication options for a topic advertised. E.g.: Set the rate of message...
Definition: AdvertiseOptions.hh:150
A class for customizing the behavior of the Node. E.g.: Set a custom namespace or a partition name...
Definition: NodeOptions.hh:40
A class that is used to store information about an advertised publisher. An instance of this class is...
Definition: Node.hh:89
A class to provide different options for a subscription.
Definition: SubscribeOptions.hh:39
void waitForShutdown()
Block the current thread until a SIGINT or SIGTERM is received. Note that this function registers a s...
const std::string kGenericMessageType
The string type used for generic messages.
Definition: TransportTypes.hh:174
Private data for the Node class. This class should not be directly used. You should use the Node clas...
Definition: NodeShared.hh:64
A class that provides information about the message received.
Definition: MessageInfo.hh:37
A class for customizing the publication options for a service advertised.
Definition: AdvertiseOptions.hh:247
A class that allows a client to communicate with other peers. There are two main communication modes:...
Definition: Node.hh:69
This class stores all the information about a message publisher.
Definition: Publisher.hh:212
google::protobuf::Message ProtoMsg
Definition: TransportTypes.hh:70
Definition: AdvertiseOptions.hh:28