Publisher.hh
Go to the documentation of this file.
A class for customizing the publication options for a topic advertised. E.g.: Set the rate of message...
Definition AdvertiseOptions.hh:138
A class for customizing the publication options for a topic or service advertised....
Definition AdvertiseOptions.hh:55
A class for customizing the publication options for a service advertised.
Definition AdvertiseOptions.hh:226
This class stores all the information about a message publisher.
Definition Publisher.hh:199
virtual const AdvertiseMessageOptions & Options() const
Get the advertised options.
MessagePublisher & operator=(const MessagePublisher &_other)
Assignment operator.
virtual size_t Pack(char *_buffer) const
Serialize the publisher. The caller has ownership of the buffer and is responsible for its [de]alloca...
virtual size_t MsgLength() const
Get the total length of the message.
MessagePublisher(const std::string &_topic, const std::string &_addr, const std::string &_ctrl, const std::string &_pUuid, const std::string &_nUuid, const std::string &_msgTypeName, const AdvertiseMessageOptions &_opts)
Constructor.
friend std::ostream & operator<<(std::ostream &_out, const MessagePublisher &_msg)
Stream insertion operator.
Definition Publisher.hh:268
void SetOptions(const AdvertiseMessageOptions &_opts)
Set the advertised options.
void SetCtrl(const std::string &_ctrl)
Set the ZeroMQ control address of the publisher.
std::string MsgTypeName() const
Get the message type advertised by this publisher.
bool operator==(const MessagePublisher &_pub) const
Equality operator. This function checks if the given message publisher has identical Topic,...
MessagePublisher(const MessagePublisher &_other)
Copy constructor.
virtual size_t Unpack(const char *_buffer)
Unserialize the publisher.
bool operator!=(const MessagePublisher &_pub) const
Inequality operator. This function checks if the given message publisher does not have identical Topi...
virtual ~MessagePublisher()=default
Destructor.
MessagePublisher()=default
Default constructor.
void SetMsgTypeName(const std::string &_msgTypeName)
Set the message type advertised by this publisher.
std::string Ctrl() const
Get the ZeroMQ control address. This address is used by the subscribers to notify the publisher about...
This class stores all the information about a publisher. It stores the topic name that publishes,...
Definition Publisher.hh:38
virtual const AdvertiseOptions & Options() const
Get the advertised options.
Publisher & operator=(const Publisher &_other)
Assignment operator.
bool operator==(const Publisher &_pub) const
Equality operator. This function checks if the given publisher has identical Topic,...
size_t PackInternal(char *_buffer) const
Serialize all fields except the advertise options. This is useful when we are serializing a derived c...
virtual size_t Pack(char *_buffer) const
Serialize the publisher. The caller has ownership of the buffer and is responsible for its [de]alloca...
std::string addr
ZeroMQ address of the publisher.
Definition Publisher.hh:182
bool operator!=(const Publisher &_pub) const
Inequality operator. This function checks if the given publisher does not have identical Topic,...
size_t MsgLengthInternal() const
Get the total length of the message without counting the advertised options. This is useful when [un]...
void SetAddr(const std::string &_addr)
Set ZeroMQ address of the publisher.
std::string pUuid
Process UUID of the publisher.
Definition Publisher.hh:185
std::string Addr() const
Get the ZeroMQ address of the publisher.
virtual size_t MsgLength() const
Get the total length of the message.
std::string Topic() const
Get the topic published by this publisher.
void SetNUuid(const std::string &_nUuid)
Set the node UUID of the publisher.
std::string nUuid
Node UUID of the publisher.
Definition Publisher.hh:188
void SetTopic(const std::string &_topic)
Set the topic name published by this publisher.
virtual size_t Unpack(const char *_buffer)
Unserialize the publisher.
size_t UnpackInternal(const char *_buffer)
Unserialize all fields except the advertise options. This is useful when we are unserializing a deriv...
void SetPUuid(const std::string &_pUuid)
Set the process UUID of the publisher.
friend std::ostream & operator<<(std::ostream &_out, const Publisher &_msg)
Stream insertion operator.
Definition Publisher.hh:148
Publisher(const std::string &_topic, const std::string &_addr, const std::string &_pUuid, const std::string &_nUuid, const AdvertiseOptions &_opts)
Constructor.
void SetOptions(const AdvertiseOptions &_opts)
Set the advertised options.
std::string PUuid() const
Get the process UUID of the publisher. return Process UUID.
This class stores all the information about a service publisher.
Definition Publisher.hh:315
size_t MsgLength() const
Get the total length of the message.
void SetOptions(const AdvertiseServiceOptions &_opts)
Set the advertised options.
void SetSocketId(const std::string &_socketId)
Set the ZeroMQ socket ID for this publisher.
ServicePublisher()=default
Default constructor.
std::string ReqTypeName() const
Get the name of the request's protobuf message advertised.
std::string RepTypeName() const
Get the name of the response's protobuf message advertised.
ServicePublisher(const ServicePublisher &_other)
Copy constructor.
virtual const AdvertiseServiceOptions & Options() const
Get the advertised options.
size_t Pack(char *_buffer) const
Serialize the publisher. The caller has ownership of the buffer and is responsible for its [de]alloca...
bool operator!=(const ServicePublisher &_srv) const
Inequality operator. This function checks if the given service does not have identical Topic,...
bool operator==(const ServicePublisher &_srv) const
Equality operator. This function checks if the given service has identical Topic, Addr,...
size_t Unpack(const char *_buffer)
Unserialize the publisher.
virtual ~ServicePublisher()=default
Destructor.
void SetRepTypeName(const std::string &_repTypeName)
Set the name of the response's protobuf message advertised.
friend std::ostream & operator<<(std::ostream &_out, const ServicePublisher &_msg)
Stream insertion operator.
Definition Publisher.hh:396
ServicePublisher(const std::string &_topic, const std::string &_addr, const std::string &_id, const std::string &_pUuid, const std::string &_nUuid, const std::string &_reqType, const std::string &_repType, const AdvertiseServiceOptions &_opts)
Constructor.
void SetReqTypeName(const std::string &_reqTypeName)
Set the name of the request's protobuf message advertised.
std::string SocketId() const
Get the ZeroMQ socket ID used by this publisher.
T endl(T... args)
Definition AdvertiseOptions.hh:28