Fast DDS  Version 3.0.1
Fast DDS
Loading...
Searching...
No Matches
CacheChange_t Struct Reference

Structure CacheChange_t, contains information on a specific CacheChange. More...

#include <CacheChange.hpp>

Public Member Functions

 CacheChange_t ()
 Default constructor.
 
 CacheChange_t (const CacheChange_t &)=delete
 
const CacheChange_toperator= (const CacheChange_t &)=delete
 
 CacheChange_t (uint32_t payload_size, bool is_untyped=false)
 Constructor with payload size.
 
bool copy (const CacheChange_t *ch_ptr)
 Copy a different change into this one.
 
void copy_not_memcpy (const CacheChange_t *ch_ptr)
 Copy information form a different change into this one.
 
virtual ~CacheChange_t ()=default
 
uint32_t getFragmentCount () const
 Get the number of fragments this change is split into.
 
uint16_t getFragmentSize () const
 Get the size of each fragment this change is split into.
 
bool is_fully_assembled ()
 Checks if all fragments have been received.
 
bool contains_first_fragment ()
 Checks if the first fragment is present.
 
void get_missing_fragments (FragmentNumberSet_t &frag_sns)
 Fills a FragmentNumberSet_t with the list of missing fragments.
 
void setFragmentSize (uint16_t fragment_size, bool create_fragment_list=false)
 Set fragment size for this change.
 
bool add_fragments (const SerializedPayload_t &incoming_data, uint32_t fragment_starting_num, uint32_t fragments_in_submessage)
 

Public Attributes

ChangeKind_t kind = ALIVE
 Kind of change, default value ALIVE.
 
GUID_t writerGUID {}
 GUID_t of the writer that generated this change.
 
InstanceHandle_t instanceHandle {}
 Handle of the data associated with this change.
 
SequenceNumber_t sequenceNumber {}
 SequenceNumber of the change.
 
SerializedPayload_t serializedPayload {}
 Serialized Payload associated with the change.
 
SerializedPayload_t inline_qos {}
 CDR serialization of inlined QoS for this change.
 
bool isRead = false
 Indicates if the cache has been read (only used in READERS)
 
Time_t sourceTimestamp {}
 Source TimeStamp.
 
fastdds::rtps::VendorId_t vendor_id = c_VendorId_Unknown
 Vendor Id of the writer that generated this change.
 
union { 
 
   CacheChangeReaderInfo_t   reader_info 
 
   CacheChangeWriterInfo_t   writer_info 
 
};  
 
WriteParams write_params {}
 
bool is_untyped_ = true
 

Detailed Description

Structure CacheChange_t, contains information on a specific CacheChange.

Constructor & Destructor Documentation

◆ CacheChange_t() [1/3]

CacheChange_t ( )
inline

Default constructor.

Creates an empty CacheChange_t.

◆ CacheChange_t() [2/3]

CacheChange_t ( const CacheChange_t )
delete

◆ CacheChange_t() [3/3]

CacheChange_t ( uint32_t  payload_size,
bool  is_untyped = false 
)
inline

Constructor with payload size.

Parameters
payload_sizeSerialized payload size
is_untypedFlag to mark the change as untyped.

◆ ~CacheChange_t()

virtual ~CacheChange_t ( )
virtualdefault

Member Function Documentation

◆ add_fragments()

bool add_fragments ( const SerializedPayload_t incoming_data,
uint32_t  fragment_starting_num,
uint32_t  fragments_in_submessage 
)
inline

◆ contains_first_fragment()

bool contains_first_fragment ( )
inline

Checks if the first fragment is present.

Returns
true when it contains the first fragment. In other case, false.

◆ copy()

bool copy ( const CacheChange_t ch_ptr)
inline

Copy a different change into this one.

All the elements are copied, included the data, allocating new memory.

Parameters
[in]ch_ptrPointer to the change.
Returns
True if correct.

◆ copy_not_memcpy()

void copy_not_memcpy ( const CacheChange_t ch_ptr)
inline

Copy information form a different change into this one.

All the elements are copied except data.

Parameters
[in]ch_ptrPointer to the change.

◆ get_missing_fragments()

void get_missing_fragments ( FragmentNumberSet_t frag_sns)
inline

Fills a FragmentNumberSet_t with the list of missing fragments.

Parameters
[out]frag_snsFragmentNumberSet_t where result is stored.

◆ getFragmentCount()

uint32_t getFragmentCount ( ) const
inline

Get the number of fragments this change is split into.

Returns
number of fragments.

◆ getFragmentSize()

uint16_t getFragmentSize ( ) const
inline

Get the size of each fragment this change is split into.

Returns
size of fragment (0 means change is not fragmented).

◆ is_fully_assembled()

bool is_fully_assembled ( )
inline

Checks if all fragments have been received.

Returns
true when change is fully assembled (i.e. no missing fragments).

◆ operator=()

const CacheChange_t & operator= ( const CacheChange_t )
delete

◆ setFragmentSize()

void setFragmentSize ( uint16_t  fragment_size,
bool  create_fragment_list = false 
)
inline

Set fragment size for this change.

Parameters
fragment_sizeSize of fragments.
create_fragment_listWhether to create missing fragments list or not.
Remarks
Parameter create_fragment_list should only be true when receiving the first fragment of a change.

Member Data Documentation

◆ [union]

union { ... }

◆ inline_qos

SerializedPayload_t inline_qos {}

CDR serialization of inlined QoS for this change.

◆ instanceHandle

InstanceHandle_t instanceHandle {}

Handle of the data associated with this change.

◆ is_untyped_

bool is_untyped_ = true

◆ isRead

bool isRead = false

Indicates if the cache has been read (only used in READERS)

◆ kind

Kind of change, default value ALIVE.

◆ reader_info

◆ sequenceNumber

SequenceNumber_t sequenceNumber {}

SequenceNumber of the change.

◆ serializedPayload

SerializedPayload_t serializedPayload {}

Serialized Payload associated with the change.

◆ sourceTimestamp

Time_t sourceTimestamp {}

Source TimeStamp.

◆ vendor_id

Vendor Id of the writer that generated this change.

◆ write_params

WriteParams write_params {}

◆ writer_info

◆ writerGUID

GUID_t writerGUID {}

GUID_t of the writer that generated this change.


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