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 {
70 int IGNITION_TRANSPORT_VISIBLE
rcvHwm();
82 int IGNITION_TRANSPORT_VISIBLE
sndHwm();
93 class IGNITION_TRANSPORT_VISIBLE
Node 95 class PublisherPrivate;
128 public:
operator bool();
133 public:
operator bool()
const;
138 public:
bool Valid()
const;
145 public:
bool Publish(
const ProtoMsg &_msg);
168 public:
bool PublishRaw(
180 public:
bool ThrottledUpdateReady()
const;
185 private:
bool UpdateThrottling();
189 public:
bool HasConnections()
const;
199 #pragma warning(push) 200 #pragma warning(disable: 4251) 213 public:
virtual ~
Node();
223 public:
template<
typename MessageT>
257 public:
template<
typename MessageT>
260 void(*_callback)(
const MessageT &_msg),
271 public:
template<
typename MessageT>
287 public:
template<
typename ClassT,
typename MessageT>
290 void(ClassT::*_callback)(
const MessageT &_msg),
304 public:
template<
typename MessageT>
307 void(*_callback)(
const MessageT &_msg,
const MessageInfo &_info),
319 public:
template<
typename MessageT>
337 public:
template<
typename ClassT,
typename MessageT>
340 void(ClassT::*_callback)(
const MessageT &_msg,
355 public:
bool Unsubscribe(
const std::string &_topic);
369 public:
template<
typename RequestT,
typename ReplyT>
372 bool(*_callback)(
const RequestT &_request, ReplyT &_reply),
386 public:
template<
typename ReplyT>
389 bool(*_callback)(ReplyT &_reply),
402 public:
template<
typename RequestT>
405 void(*_callback)(
const RequestT &_request),
420 public:
template<
typename RequestT,
typename ReplyT>
424 ReplyT &_reply)> _callback,
438 public:
template<
typename ReplyT>
454 public:
template<
typename RequestT>
473 public:
template<
typename ClassT,
typename RequestT,
typename ReplyT>
476 bool(ClassT::*_callback)(
const RequestT &_request, ReplyT &_reply),
492 public:
template<
typename ClassT,
typename ReplyT>
495 bool(ClassT::*_callback)(ReplyT &_reply),
510 public:
template<
typename ClassT,
typename RequestT>
513 void(ClassT::*_callback)(
const RequestT &_request),
532 public:
template<
typename RequestT,
typename ReplyT>
535 const RequestT &_request,
536 void(*_callback)(
const ReplyT &_reply,
const bool _result));
548 public:
template<
typename ReplyT>
551 void(*_callback)(
const ReplyT &_reply,
const bool _result));
564 public:
template<
typename RequestT,
typename ReplyT>
567 const RequestT &_request,
569 const bool _result)> &_callback);
581 public:
template<
typename ReplyT>
585 const bool _result)> &_callback);
599 public:
template<
typename ClassT,
typename RequestT,
typename ReplyT>
602 const RequestT &_request,
603 void(ClassT::*_callback)(
const ReplyT &_reply,
const bool _result),
617 public:
template<
typename ClassT,
typename ReplyT>
620 void(ClassT::*_callback)(
const ReplyT &_reply,
const bool _result),
632 public:
template<
typename RequestT,
typename ReplyT>
635 const RequestT &_request,
636 const unsigned int &_timeout,
648 public:
template<
typename ReplyT>
651 const unsigned int &_timeout,
660 public:
template<
typename RequestT>
661 bool Request(
const std::string &_topic,
const RequestT &_request);
666 public:
bool UnadvertiseSrv(
const std::string &_topic);
695 public:
bool ServiceInfo(
712 public:
bool SubscribeRaw(
742 private:
bool SubscribeHelper(
const std::string &_fullyQualifiedTopic);
747 #pragma warning(push) 748 #pragma warning(disable: 4251) 761 #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:113
A class to provide different options for a subscription.
Definition: SubscribeOptions.hh:39
int rcvHwm()
Get the capacity of the buffer (High Water Mark) that stores incoming Ignition Transport messages...
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:93
This class stores all the information about a message publisher.
Definition: Publisher.hh:222
google::protobuf::Message ProtoMsg
Definition: TransportTypes.hh:70
int sndHwm()
Get the capacity of the buffer (High Water Mark) that stores outgoing Ignition Transport messages...
Definition: AdvertiseOptions.hh:28