20 #ifndef PUBLISHERHISTORY_H_
21 #define PUBLISHERHISTORY_H_
22 #ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC
27 #include <fastdds/rtps/common/InstanceHandle.h>
28 #include <fastdds/rtps/common/Time_t.h>
29 #include <fastdds/rtps/history/WriterHistory.h>
30 #include <fastdds/rtps/resources/ResourceManagement.h>
31 #include <fastrtps/attributes/TopicAttributes.h>
32 #include <fastrtps/common/KeyedChanges.h>
33 #include <fastrtps/qos/QosPolicies.h>
56 rtps::MemoryManagementPolicy_t mempolicy);
73 const rtps::InstanceHandle_t& instance_handle,
74 std::unique_lock<RecursiveTimedMutex>& lock,
75 const std::chrono::time_point<std::chrono::steady_clock>& max_blocking_time);
86 rtps::CacheChange_t* change,
87 rtps::WriteParams& wparams,
88 std::unique_lock<RecursiveTimedMutex>& lock,
89 const std::chrono::time_point<std::chrono::steady_clock>& max_blocking_time);
111 rtps::CacheChange_t* change);
114 rtps::CacheChange_t* a_change);
117 const rtps::InstanceHandle_t& handle,
118 const rtps::SequenceNumber_t& seq_up_to);
127 const rtps::InstanceHandle_t& handle,
128 const std::chrono::steady_clock::time_point& next_deadline_us);
137 rtps::InstanceHandle_t& handle,
138 std::chrono::steady_clock::time_point& next_deadline_us);
146 const rtps::InstanceHandle_t& handle);
156 const rtps::InstanceHandle_t& handle,
157 std::unique_lock<RecursiveTimedMutex>& lock,
158 const std::chrono::time_point<std::chrono::steady_clock>& max_blocking_time);
162 typedef std::map<rtps::InstanceHandle_t, KeyedChanges> t_m_Inst_Caches;
165 t_m_Inst_Caches keyed_changes_;
167 std::chrono::steady_clock::time_point next_deadline_us_;
181 bool find_or_add_key(
182 const rtps::InstanceHandle_t& instance_handle,
183 t_m_Inst_Caches::iterator* map_it);
193 rtps::CacheChange_t* change,
194 std::unique_lock<RecursiveTimedMutex>& lock,
195 const std::chrono::time_point<std::chrono::steady_clock>& max_blocking_time);
201 #endif // ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC
202 #endif // PUBLISHERHISTORY_H_