Gazebo Transport

API Reference

8.5.1
ServicePublisher Class Reference

This class stores all the information about a service publisher. More...

#include <Publisher.hh>

Public Member Functions

 ServicePublisher ()=default
 Default constructor. More...
 
 ServicePublisher (const ServicePublisher &_other)
 Copy constructor. More...
 
 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. More...
 
virtual ~ServicePublisher ()=default
 Destructor. More...
 
virtual void FillDiscovery (msgs::Discovery &_msg) const final
 Populate a discovery message. More...
 
size_t MsgLength () const
 Get the total length of the message. More...
 
bool operator!= (const ServicePublisher &_srv) const
 Inequality operator. This function checks if the given service does not have identical Topic, Addr, PUuid, NUuid, Scope, SocketId, ReqTypeName, RepTypeName strings to this object. More...
 
ServicePublisher & operator= (const ServicePublisher &_other)=default
 Assignment operator. More...
 
bool operator== (const ServicePublisher &_srv) const
 Equality operator. This function checks if the given service has identical Topic, Addr, PUuid, NUuid, Scope, SocketId, ReqTypeName, RepTypeName strings to this object. More...
 
virtual const AdvertiseServiceOptions & Options () const
 Get the advertised options. More...
 
size_t Pack (char *_buffer) const
 Serialize the publisher. The caller has ownership of the buffer and is responsible for its [de]allocation. More...
 
std::string RepTypeName () const
 Get the name of the response's protobuf message advertised. More...
 
std::string ReqTypeName () const
 Get the name of the request's protobuf message advertised. More...
 
virtual void SetFromDiscovery (const msgs::Discovery &_msg)
 Populate a discovery message. More...
 
void SetOptions (const AdvertiseServiceOptions &_opts)
 Set the advertised options. More...
 
void SetRepTypeName (const std::string &_repTypeName)
 Set the name of the response's protobuf message advertised. More...
 
void SetReqTypeName (const std::string &_reqTypeName)
 Set the name of the request's protobuf message advertised. More...
 
void SetSocketId (const std::string &_socketId)
 Set the ZeroMQ socket ID for this publisher. More...
 
std::string SocketId () const
 Get the ZeroMQ socket ID used by this publisher. More...
 
size_t Unpack (const char *_buffer)
 Unserialize the publisher. More...
 
- Public Member Functions inherited from Publisher
 Publisher ()=default
 Default constructor. More...
 
 Publisher (const Publisher &_other)
 Copy constructor. More...
 
 Publisher (const std::string &_topic, const std::string &_addr, const std::string &_pUuid, const std::string &_nUuid, const AdvertiseOptions &_opts)
 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. This function checks if the given publisher does not have identical Topic, Addr, PUuid, NUuid, and Scope strings to this object. More...
 
Publisher & operator= (const Publisher &_other)
 Assignment operator. More...
 
bool operator== (const Publisher &_pub) const
 Equality operator. This function checks if the given publisher has identical Topic, Addr, PUuid, NUuid, and Scope strings to this object. More...
 
std::string PUuid () const
 Get the process UUID of the publisher. return Process UUID. 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...
 

Additional Inherited Members

- Protected Member Functions inherited from Publisher
size_t MsgLengthInternal () const
 Get the total length of the message without counting the advertised options. This is useful when [un]serializing a derived publisher because we want to ignore the advertised options in the base publisher. More...
 
size_t PackInternal (char *_buffer) const
 Serialize all fields except the advertise options. This is useful when we are serializing a derived class that contains its own advertise options. More...
 
size_t UnpackInternal (const char *_buffer)
 Unserialize all fields except the advertise options. This is useful when we are unserializing a derived class that contains its own advertise options. More...
 
- Protected Attributes inherited from 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

This class stores all the information about a service publisher.

ignition/transport/Publisher.hh

Constructor & Destructor Documentation

◆ ServicePublisher() [1/3]

ServicePublisher ( )
default

Default constructor.

◆ ServicePublisher() [2/3]

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.

Parameters
[in]_topicTopic name.
[in]_addrZeroMQ address.
[in]_idZeroMQ socket ID.
[in]_pUuidProcess UUID.
[in]_nUuidnode UUID.
[in]_reqTypeMessage type used in the service request.
[in]_repTypeMessage type used in the service response.
[in]_optsAdvertise options.

◆ ServicePublisher() [3/3]

ServicePublisher ( const ServicePublisher &  _other)

Copy constructor.

Parameters
[in]_otherOther ServicePublisher object.

◆ ~ServicePublisher()

virtual ~ServicePublisher ( )
virtualdefault

Destructor.

Member Function Documentation

◆ FillDiscovery()

virtual void FillDiscovery ( msgs::Discovery &  _msg) const
finalvirtual

Populate a discovery message.

Parameters
[in]_msgMessage to fill.

Reimplemented from Publisher.

◆ MsgLength()

size_t MsgLength ( ) const
virtual

Get the total length of the message.

Returns
Return the length of the message in bytes.

Reimplemented from Publisher.

◆ operator!=()

bool operator!= ( const ServicePublisher &  _srv) const

Inequality operator. This function checks if the given service does not have identical Topic, Addr, PUuid, NUuid, Scope, SocketId, ReqTypeName, RepTypeName strings to this object.

Parameters
[in]_srvThe service publisher to compare against.
Returns
True if this object does not match the provided object.

◆ operator=()

ServicePublisher& operator= ( const ServicePublisher &  _other)
default

Assignment operator.

Parameters
[in]_otherThe other Publisher.
Returns
A reference to this instance.

◆ operator==()

bool operator== ( const ServicePublisher &  _srv) const

Equality operator. This function checks if the given service has identical Topic, Addr, PUuid, NUuid, Scope, SocketId, ReqTypeName, RepTypeName strings to this object.

Parameters
[in]_srvThe service publisher to compare against.
Returns
True if this object matches the provided object.

◆ Options()

virtual const AdvertiseServiceOptions& Options ( ) const
virtual

Get the advertised options.

Returns
The advertised options.
See also
SetOptions.

Reimplemented from Publisher.

◆ Pack()

size_t 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 Publisher.

◆ RepTypeName()

std::string RepTypeName ( ) const

Get the name of the response's protobuf message advertised.

Returns
The protobuf message type.
See also
SetRepTypeName.

◆ ReqTypeName()

std::string ReqTypeName ( ) const

Get the name of the request's protobuf message advertised.

Returns
The protobuf message type.
See also
SetReqTypeName.

◆ SetFromDiscovery()

virtual void SetFromDiscovery ( const msgs::Discovery &  _msg)
virtual

Populate a discovery message.

Set data from a discovery message.

Parameters
[in]_msgDiscovery message.

Reimplemented from Publisher.

◆ SetOptions()

void SetOptions ( const AdvertiseServiceOptions &  _opts)

Set the advertised options.

Parameters
[in]_optsNew advertised options.
See also
Options.

◆ SetRepTypeName()

void SetRepTypeName ( const std::string &  _repTypeName)

Set the name of the response's protobuf message advertised.

Parameters
[in]_repTypeNameThe protobuf message type.
See also
RepTypeName.

◆ SetReqTypeName()

void SetReqTypeName ( const std::string &  _reqTypeName)

Set the name of the request's protobuf message advertised.

Parameters
[in]_reqTypeNameThe protobuf message type.
See also
ReqTypeName.

◆ SetSocketId()

void SetSocketId ( const std::string &  _socketId)

Set the ZeroMQ socket ID for this publisher.

Parameters
[in]_socketIdNew socket ID.
See also
SocketId.

◆ SocketId()

std::string SocketId ( ) const

Get the ZeroMQ socket ID used by this publisher.

Returns
The socket ID.
See also
SetSocketId.

◆ Unpack()

size_t Unpack ( const char *  _buffer)
virtual

Unserialize the publisher.

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

Reimplemented from Publisher.


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