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(
151 private:
bool UpdateThrottling();
155 public:
bool HasConnections()
const;
165 #pragma warning(push) 166 #pragma warning(disable: 4251) 179 public:
virtual ~
Node();
189 public:
template<
typename MessageT>
223 public:
template<
typename MessageT>
226 void(*_callback)(
const MessageT &_msg),
237 public:
template<
typename MessageT>
253 public:
template<
typename ClassT,
typename MessageT>
256 void(ClassT::*_callback)(
const MessageT &_msg),
270 public:
template<
typename MessageT>
273 void(*_callback)(
const MessageT &_msg,
const MessageInfo &_info),
285 public:
template<
typename MessageT>
303 public:
template<
typename ClassT,
typename MessageT>
306 void(ClassT::*_callback)(
const MessageT &_msg,
321 public:
bool Unsubscribe(
const std::string &_topic);
335 public:
template<
typename RequestT,
typename ReplyT>
338 bool(*_callback)(
const RequestT &_request, ReplyT &_reply),
352 public:
template<
typename ReplyT>
355 bool(*_callback)(ReplyT &_reply),
368 public:
template<
typename RequestT>
371 void(*_callback)(
const RequestT &_request),
386 public:
template<
typename RequestT,
typename ReplyT>
390 ReplyT &_reply)> _callback,
404 public:
template<
typename ReplyT>
420 public:
template<
typename RequestT>
439 public:
template<
typename ClassT,
typename RequestT,
typename ReplyT>
442 bool(ClassT::*_callback)(
const RequestT &_request, ReplyT &_reply),
458 public:
template<
typename ClassT,
typename ReplyT>
461 bool(ClassT::*_callback)(ReplyT &_reply),
476 public:
template<
typename ClassT,
typename RequestT>
479 void(ClassT::*_callback)(
const RequestT &_request),
498 public:
template<
typename RequestT,
typename ReplyT>
501 const RequestT &_request,
502 void(*_callback)(
const ReplyT &_reply,
const bool _result));
514 public:
template<
typename ReplyT>
517 void(*_callback)(
const ReplyT &_reply,
const bool _result));
530 public:
template<
typename RequestT,
typename ReplyT>
533 const RequestT &_request,
535 const bool _result)> &_callback);
547 public:
template<
typename ReplyT>
551 const bool _result)> &_callback);
565 public:
template<
typename ClassT,
typename RequestT,
typename ReplyT>
568 const RequestT &_request,
569 void(ClassT::*_callback)(
const ReplyT &_reply,
const bool _result),
583 public:
template<
typename ClassT,
typename ReplyT>
586 void(ClassT::*_callback)(
const ReplyT &_reply,
const bool _result),
598 public:
template<
typename RequestT,
typename ReplyT>
601 const RequestT &_request,
602 const unsigned int &_timeout,
614 public:
template<
typename ReplyT>
617 const unsigned int &_timeout,
626 public:
template<
typename RequestT>
627 bool Request(
const std::string &_topic,
const RequestT &_request);
632 public:
bool UnadvertiseSrv(
const std::string &_topic);
661 public:
bool ServiceInfo(
678 public:
bool SubscribeRaw(
708 private:
bool SubscribeHelper(
const std::string &_fullyQualifiedTopic);
713 #pragma warning(push) 714 #pragma warning(disable: 4251) 727 #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