17.2.7.1.5. ReaderProxyData

class eprosima::fastrtps::rtps::ReaderProxyData

Class ReaderProxyData, used to represent all the information on a Reader (both local and remote) with the purpose of implementing the discovery.

Public Functions

void set_sample_identity(const SampleIdentity &sid)

Set participant client server sample identity

Parameters

SampleIdentity get_sample_identity() const

Retrieve participant SampleIdentity

Return

SampleIdentity

uint32_t get_serialized_size(bool include_encapsulation) const

Get the size in bytes of the CDR serialization of this object.

Return

size in bytes of the CDR serialization.

Parameters
  • include_encapsulation: Whether to include the size of the encapsulation info.

bool writeToCDRMessage(CDRMessage_t *msg, bool write_encapsulation) const

Write as a parameter list on a CDRMessage_t

Return

True on success

bool readFromCDRMessage(CDRMessage_t *msg, const NetworkFactory &network, bool is_shm_transport_available)

Read the information from a CDRMessage_t. The position of the message must be in the beginning on the parameter list.

Return

true on success

Parameters
  • msg: Pointer to the message.

  • network: Reference to network factory for locator validation and transformation

  • is_shm_transport_available: Indicates whether the Reader is reachable by SHM.

void clear()

Clear (put to default) the information.

bool is_update_allowed(const ReaderProxyData &rdata) const

Check if this object can be updated with the information on another object.

Return

true if this object can be updated with the information on rdata.

Parameters

void update(ReaderProxyData *rdata)

Update the information (only certain fields will be updated).

Parameters
  • rdata: Pointer to the object from which we are going to update.

void copy(ReaderProxyData *rdata)

Copy ALL the information from another object.

Parameters
  • rdata: Pointer to the object from where the information must be copied.

Public Members

ReaderQos m_qos

Reader Qos.

security::EndpointSecurityAttributesMask security_attributes_

EndpointSecurityInfo.endpoint_security_attributes.

security::PluginEndpointSecurityAttributesMask plugin_security_attributes_

EndpointSecurityInfo.plugin_endpoint_security_attributes.