18.2.7.5. WriterHistory

class WriterHistory : public eprosima::fastrtps::rtps::History

Class WriterHistory, container of the different CacheChanges of a writer

Public Functions

WriterHistory(const HistoryAttributes &att)

Constructor of the WriterHistory.

bool add_change(CacheChange_t *a_change)

Add a CacheChange_t to the WriterHistory.

Parameters

a_change – Pointer to the CacheChange_t to be added.

Returns

True if added.

bool add_change(CacheChange_t *a_change, WriteParams &wparams)

Add a CacheChange_t to the WriterHistory.

Parameters
  • a_change – Pointer to the CacheChange_t to be added.

  • wparams – Extra write parameters.

Returns

True if added.

virtual iterator remove_change_nts(const_iterator removal, bool release = true) override

Remove a specific change from the history. No Thread Safe

Parameters
  • removal – iterator to the change for removal

  • release – specifies if the change should be return to the pool

Returns

iterator to the next change if any

virtual iterator remove_change_nts(const_iterator removal, const std::chrono::time_point<std::chrono::steady_clock> &max_blocking_time, bool release = true) override

Remove a specific change from the history. No Thread Safe

Parameters
  • removal – iterator to the change for removal

  • release – specifies if the change should be return to the pool

  • max_blocking_time[in] Maximum time this method has to complete the task.

Returns

iterator to the next change if any

virtual bool matches_change(const CacheChange_t *inner, CacheChange_t *outer) override

Criteria to search a specific CacheChange_t on history

Parameters
  • inner – change to compare

  • outer – change for comparison

Returns

true if inner matches outer criteria

bool remove_min_change()

Remove the CacheChange_t with the minimum sequenceNumber.

Returns

True if correctly removed.

bool remove_min_change(const std::chrono::time_point<std::chrono::steady_clock> &max_blocking_time)

Remove the CacheChange_t with the minimum sequenceNumber.

Parameters

max_blocking_time[in] Maximum time this method has to complete the task.

Returns

True if correctly removed.

bool remove_change(CacheChange_t *ch)

Introduce base class method into scope.

bool remove_change(CacheChange_t *ch, const std::chrono::time_point<std::chrono::steady_clock> &max_blocking_time)

Introduce base class method into scope.

inline iterator remove_change(const_iterator removal, bool release = true)

Introduce base class method into scope.