All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Friends | List of all members
ignition::transport::MessagePublisher Class Reference

ignition/transport/Publisher.hh More...

#include <Publisher.hh>

Inheritance diagram for ignition::transport::MessagePublisher:
Inheritance graph
[legend]

Public Member Functions

 MessagePublisher ()=default
 Default constructor. More...
 
 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. More...
 
 MessagePublisher (const MessagePublisher &_other)
 Copy constructor. More...
 
virtual ~MessagePublisher ()=default
 Destructor. More...
 
std::string Ctrl () const
 Get the ZeroMQ control address. More...
 
virtual size_t MsgLength () const
 Get the total length of the message. More...
 
std::string MsgTypeName () const
 Get the message type advertised by this publisher. More...
 
bool operator!= (const MessagePublisher &_pub) const
 Inequality operator. More...
 
MessagePublisheroperator= (const MessagePublisher &_other)
 Assignment operator. More...
 
bool operator== (const MessagePublisher &_pub) const
 Equality operator. More...
 
virtual const
AdvertiseMessageOptions
Options () const
 Get the advertised options. More...
 
virtual size_t Pack (char *_buffer) const
 Serialize the publisher. More...
 
void SetCtrl (const std::string &_ctrl)
 Set the ZeroMQ control address of the publisher. More...
 
void SetMsgTypeName (const std::string &_msgTypeName)
 Set the message type advertised by this publisher. More...
 
void SetOptions (const AdvertiseMessageOptions &_opts)
 Set the advertised options. More...
 
virtual size_t Unpack (const char *_buffer)
 Unserialize the publisher. More...
 
- Public Member Functions inherited from ignition::transport::Publisher
 Publisher ()=default
 Default constructor. More...
 
 Publisher (const std::string &_topic, const std::string &_addr, const std::string &_pUuid, const std::string &_nUuid, const AdvertiseOptions &_opts)
 Constructor. More...
 
 Publisher (const Publisher &_other)
 Copy constructor. More...
 
virtual ~Publisher ()=default
 Destructor. More...
 
std::string Addr () const
 Get the ZeroMQ address of the publisher. More...
 
std::string NUuid () const
 Get the node UUID of the publisher. More...
 
bool operator!= (const Publisher &_pub) const
 Inequality operator. More...
 
Publisheroperator= (const Publisher &_other)
 Assignment operator. More...
 
bool operator== (const Publisher &_pub) const
 Equality operator. More...
 
std::string PUuid () const
 Get the process UUID of the publisher. More...
 
void SetAddr (const std::string &_addr)
 Set ZeroMQ address of the publisher. More...
 
void SetNUuid (const std::string &_nUuid)
 Set the node UUID of the publisher. More...
 
void SetOptions (const AdvertiseOptions &_opts)
 Set the advertised options. More...
 
void SetPUuid (const std::string &_pUuid)
 Set the process UUID of the publisher. More...
 
void SetTopic (const std::string &_topic)
 Set the topic name published by this publisher. More...
 
std::string Topic () const
 Get the topic published by this publisher. More...
 

Friends

std::ostream & operator<< (std::ostream &_out, const MessagePublisher &_msg)
 Stream insertion operator. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ignition::transport::Publisher
size_t MsgLengthInternal () const
 Get the total length of the message without counting the advertised options. More...
 
size_t PackInternal (char *_buffer) const
 Serialize all fields except the advertise options. More...
 
size_t UnpackInternal (const char *_buffer)
 Unserialize all fields except the advertise options. More...
 
- Protected Attributes inherited from ignition::transport::Publisher
std::string addr
 ZeroMQ address of the publisher. More...
 
std::string nUuid
 Node UUID of the publisher. More...
 
std::string pUuid
 Process UUID of the publisher. More...
 
std::string topic
 Topic name. More...
 

Detailed Description

ignition/transport/Publisher.hh

This class stores all the information about a message publisher.

Constructor & Destructor Documentation

ignition::transport::MessagePublisher::MessagePublisher ( )
default

Default constructor.

ignition::transport::MessagePublisher::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 
)
explicit

Constructor.

Parameters
[in]_topicTopic name.
[in]_addrZeroMQ address.
[in]_ctrlZeroMQ control address.
[in]_pUuidProcess UUID.
[in]_nUUIDnode UUID.
[in]_msgTypeNameMessage type advertised by this publisher.
[in]_optsAdvertise options.
ignition::transport::MessagePublisher::MessagePublisher ( const MessagePublisher _other)

Copy constructor.

Parameters
[in]_otherOther MessagePublisher object.
virtual ignition::transport::MessagePublisher::~MessagePublisher ( )
virtualdefault

Destructor.

Member Function Documentation

std::string ignition::transport::MessagePublisher::Ctrl ( ) const

Get the ZeroMQ control address.

This address is used by the subscribers to notify the publisher about the new subscription.

Returns
ZeroMQ control address of the publisher.
See Also
SetCtrl.
virtual size_t ignition::transport::MessagePublisher::MsgLength ( ) const
virtual

Get the total length of the message.

Returns
Return the length of the message in bytes.

Reimplemented from ignition::transport::Publisher.

std::string ignition::transport::MessagePublisher::MsgTypeName ( ) const

Get the message type advertised by this publisher.

Returns
Message type.
bool ignition::transport::MessagePublisher::operator!= ( const MessagePublisher _pub) const

Inequality operator.

This function checks if the given message publisher does not have identical Topic, Addr, PUuid, NUuid, Scope, Ctrl, and MsgTypeName strings to this object.

Parameters
[in]_pubThe message publisher to compare against.
Returns
True if this object does not match the provided object.
MessagePublisher& ignition::transport::MessagePublisher::operator= ( const MessagePublisher _other)

Assignment operator.

Parameters
[in]_otherThe other MessagePublisher.
Returns
A reference to this instance.
bool ignition::transport::MessagePublisher::operator== ( const MessagePublisher _pub) const

Equality operator.

This function checks if the given message publisher has identical Topic, Addr, PUuid, NUuid, Scope, Ctrl, and MsgTypeName strings to this object.

Parameters
[in]_pubThe message publisher to compare against.
Returns
True if this object matches the provided object.
virtual const AdvertiseMessageOptions& ignition::transport::MessagePublisher::Options ( ) const
virtual

Get the advertised options.

Returns
The advertised options.
See Also
SetOptions.

Reimplemented from ignition::transport::Publisher.

virtual size_t ignition::transport::MessagePublisher::Pack ( char *  _buffer) const
virtual

Serialize the publisher.

The caller has ownership of the buffer and is responsible for its [de]allocation.

Parameters
[out]_bufferDestination buffer in which the publisher will be serialized.
Returns
Number of bytes serialized.

Reimplemented from ignition::transport::Publisher.

void ignition::transport::MessagePublisher::SetCtrl ( const std::string &  _ctrl)

Set the ZeroMQ control address of the publisher.

Parameters
[in]_ctrlNew control address.
See Also
Ctrl.
void ignition::transport::MessagePublisher::SetMsgTypeName ( const std::string &  _msgTypeName)

Set the message type advertised by this publisher.

Parameters
[in]_msgTypeNameNew message type.
See Also
MsgTypeName.
void ignition::transport::MessagePublisher::SetOptions ( const AdvertiseMessageOptions _opts)

Set the advertised options.

Parameters
[in]_optsNew advertised options.
See Also
Options.
virtual size_t ignition::transport::MessagePublisher::Unpack ( const char *  _buffer)
virtual

Unserialize the publisher.

Parameters
[in]_bufferInput buffer with the data to be unserialized.

Reimplemented from ignition::transport::Publisher.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  _out,
const MessagePublisher _msg 
)
friend

Stream insertion operator.

Parameters
[out]_outThe output stream.
[in]_msgMessagePublisher to write to the stream.

The documentation for this class was generated from the following file: