Fast RTPS  Version 2.1.0
Fast RTPS

Class SubscriberHistory, container of the different CacheChanges of a subscriber. More...

#include <SubscriberHistory.h>

Inheritance diagram for SubscriberHistory:

Public Member Functions

 SubscriberHistory (const TopicAttributes &topic_att, fastdds::dds::TopicDataType *type, const fastrtps::ReaderQos &qos, uint32_t payloadMax, rtps::MemoryManagementPolicy_t mempolicy)
 Constructor. More...
 
virtual ~SubscriberHistory ()
 
bool received_change (rtps::CacheChange_t *change, size_t unknown_missing_changes_up_to)
 Called when a change is received by the Subscriber. More...
 
bool get_first_untaken_info (SampleInfo_t *info)
 Returns information about the first untaken sample. More...
 
bool remove_change_sub (rtps::CacheChange_t *change)
 This method is called to remove a change from the SubscriberHistory. More...
 
bool set_next_deadline (const rtps::InstanceHandle_t &handle, const std::chrono::steady_clock::time_point &next_deadline_us)
 A method to set the next deadline for the given instance. More...
 
bool get_next_deadline (rtps::InstanceHandle_t &handle, std::chrono::steady_clock::time_point &next_deadline_us)
 A method to get the next instance handle that will miss the deadline and the time when the deadline will occur. More...
 
Read or take data methods.

Methods to read or take data from the History.

Parameters
dataPointer to the object where you want to read or take the information.
infoPointer to a SampleInfo_t object where you want
max_blocking_timeMaximum time the function can be blocked. to store the information about the retrieved data
bool readNextData (void *data, SampleInfo_t *info, std::chrono::steady_clock::time_point &max_blocking_time)
 
bool takeNextData (void *data, SampleInfo_t *info, std::chrono::steady_clock::time_point &max_blocking_time)
 

Detailed Description

Class SubscriberHistory, container of the different CacheChanges of a subscriber.

Constructor & Destructor Documentation

◆ SubscriberHistory()

SubscriberHistory ( const TopicAttributes topic_att,
fastdds::dds::TopicDataType *  type,
const fastrtps::ReaderQos qos,
uint32_t  payloadMax,
rtps::MemoryManagementPolicy_t  mempolicy 
)

Constructor.

Requires information about the subscriber.

Parameters
topic_attTopicAttributes.
typeTopicDataType.
qosReaderQoS policy.
payloadMaxMaximum payload size per change.
mempolicySet wether the payloads ccan dynamically resized or not.

◆ ~SubscriberHistory()

virtual ~SubscriberHistory ( )
virtual

Member Function Documentation

◆ get_first_untaken_info()

bool get_first_untaken_info ( SampleInfo_t info)

Returns information about the first untaken sample.

Parameters
[out]infoPointer to a SampleInfo_t structure to store first untaken sample information.
Returns
true if sample info was returned. false if there is no sample to take.

◆ get_next_deadline()

bool get_next_deadline ( rtps::InstanceHandle_t &  handle,
std::chrono::steady_clock::time_point &  next_deadline_us 
)

A method to get the next instance handle that will miss the deadline and the time when the deadline will occur.

Parameters
handleThe handle to the instance
next_deadline_usThe time point when the instance will miss the deadline
Returns
True if the deadline was retrieved successfully

◆ readNextData()

bool readNextData ( void *  data,
SampleInfo_t info,
std::chrono::steady_clock::time_point &  max_blocking_time 
)

◆ received_change()

bool received_change ( rtps::CacheChange_t *  change,
size_t  unknown_missing_changes_up_to 
)

Called when a change is received by the Subscriber.

Will add the change to the history.

Precondition
Change should not be already present in the history.
Parameters
[in]changeThe received change
unknown_missing_changes_up_toNumber of missing changes before this one
Returns

◆ remove_change_sub()

bool remove_change_sub ( rtps::CacheChange_t *  change)

This method is called to remove a change from the SubscriberHistory.

Parameters
changePointer to the CacheChange_t.
Returns
True if removed.

◆ set_next_deadline()

bool set_next_deadline ( const rtps::InstanceHandle_t &  handle,
const std::chrono::steady_clock::time_point &  next_deadline_us 
)

A method to set the next deadline for the given instance.

Parameters
handleThe handle to the instance
next_deadline_usThe time point when the deadline will occur
Returns
True if the deadline was set correctly

◆ takeNextData()

bool takeNextData ( void *  data,
SampleInfo_t info,
std::chrono::steady_clock::time_point &  max_blocking_time 
)

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