17 #ifndef GZ_TRANSPORT_NODE_HH_
18 #define GZ_TRANSPORT_NODE_HH_
26 #include <unordered_set>
30 #include "gz/transport/config.hh"
31 #include "gz/transport/Export.hh"
46 inline namespace GZ_TRANSPORT_VERSION_NAMESPACE {
84 class GZ_TRANSPORT_VISIBLE
Node
86 class PublisherPrivate;
87 class SubscriberPrivate;
120 public:
operator bool();
125 public:
operator bool()
const;
177 private:
bool UpdateThrottling();
191 #pragma warning(push)
192 #pragma warning(disable: 4251)
239 public:
operator bool();
244 public:
operator bool()
const;
265 #pragma warning(push)
266 #pragma warning(disable: 4251)
291 public:
template<
typename MessageT>
325 public:
template<
typename MessageT>
328 void(*_callback)(
const MessageT &_msg),
339 public:
template<
typename MessageT>
355 public:
template<
typename ClassT,
typename MessageT>
358 void(ClassT::*_callback)(
const MessageT &_msg),
372 public:
template<
typename MessageT>
375 void(*_callback)(
const MessageT &_msg,
const MessageInfo &_info),
387 public:
template<
typename MessageT>
405 public:
template<
typename ClassT,
typename MessageT>
408 void(ClassT::*_callback)(
const MessageT &_msg,
432 public:
template <
typename ...Args>
466 public:
template<
typename RequestT,
typename ReplyT>
469 bool(*_callback)(
const RequestT &_request, ReplyT &_reply),
489 public:
template<
typename ReplyT>
492 bool(*_callback)(ReplyT &_reply),
511 public:
template<
typename RequestT>
514 void(*_callback)(
const RequestT &_request),
535 public:
template<
typename RequestT,
typename ReplyT>
539 ReplyT &_reply)> _callback,
559 public:
template<
typename ReplyT>
581 public:
template<
typename RequestT>
606 public:
template<
typename ClassT,
typename RequestT,
typename ReplyT>
609 bool(ClassT::*_callback)(
const RequestT &_request, ReplyT &_reply),
631 public:
template<
typename ClassT,
typename ReplyT>
634 bool(ClassT::*_callback)(ReplyT &_reply),
655 public:
template<
typename ClassT,
typename RequestT>
658 void(ClassT::*_callback)(
const RequestT &_request),
677 public:
template<
typename RequestT,
typename ReplyT>
680 const RequestT &_request,
681 void(*_callback)(
const ReplyT &_reply,
const bool _result));
693 public:
template<
typename ReplyT>
696 void(*_callback)(
const ReplyT &_reply,
const bool _result));
709 public:
template<
typename RequestT,
typename ReplyT>
712 const RequestT &_request,
714 const bool _result)> &_callback);
726 public:
template<
typename ReplyT>
730 const bool _result)> &_callback);
744 public:
template<
typename ClassT,
typename RequestT,
typename ReplyT>
747 const RequestT &_request,
748 void(ClassT::*_callback)(
const ReplyT &_reply,
const bool _result),
762 public:
template<
typename ClassT,
typename ReplyT>
765 void(ClassT::*_callback)(
const ReplyT &_reply,
const bool _result),
777 public:
template<
typename RequestT,
typename ReplyT>
780 const RequestT &_request,
781 const unsigned int &_timeout,
793 public:
template<
typename ReplyT>
796 const unsigned int &_timeout,
805 public:
template<
typename RequestT>
824 const std::string &_responseType,
unsigned int _timeout,
853 public:
bool TopicInfo(const
std::
string &_topic,
863 public:
void ServiceList(
std::vector<
std::
string> &_services) const;
869 public:
bool ServiceInfo(
870 const
std::
string &_service,
886 public:
bool SubscribeRaw(
887 const
std::
string &_topic,
902 public:
bool EnableStats(const
std::
string &_topic,
bool _enable,
903 const
std::
string &_publicationTopic = "/statistics",
904 uint64_t _publicationRate = 1);
913 const
std::
string &_topic) const;
921 public:
void AddGlobalRelay(const
std::
string& _relayAddress);
926 public:
std::vector<
std::
string> GlobalRelays() const;
935 private: const
std::
string &NodeUuid() const;
939 private:
std::unordered_set<
std::
string> &TopicsSubscribed() const;
943 private:
std::unordered_set<
std::
string> &SrvsAdvertised() const;
948 private:
bool SubscribeHelper(const
std::
string &_fullyQualifiedTopic);
959 private: template<typename MessageT>
961 const
std::
string &_topic,
962 void(*_callback)(const MessageT &_msg),
973 private: template<typename MessageT>
975 const
std::
string &_topic,
976 std::function<
void(const MessageT &_msg)> _callback,
989 private: template<typename ClassT, typename MessageT>
991 const
std::
string &_topic,
992 void(ClassT::*_callback)(const MessageT &_msg),
1006 private: template<typename MessageT>
1008 const
std::
string &_topic,
1009 void(*_callback)(const MessageT &_msg, const
MessageInfo &_info),
1021 private: template<typename MessageT>
1023 const
std::
string &_topic,
1024 std::function<
void(const MessageT &_msg,
1039 private: template<typename ClassT, typename MessageT>
1041 const
std::
string &_topic,
1042 void(ClassT::*_callback)(const MessageT &_msg,
1050 #pragma warning(push)
1051 #pragma warning(disable: 4251)
1057 #pragma warning(pop)
1063 #include "gz/transport/detail/Node.hh"