8 #ifndef OPENDDS_DCPS_DATADURABILITYCACHE_H 9 #define OPENDDS_DCPS_DATADURABILITYCACHE_H 11 #ifndef OPENDDS_NO_PERSISTENCE_PROFILE 13 #include "dds/DdsDcpsInfrastructureC.h" 15 #if !defined (ACE_LACKS_PRAGMA_ONCE) 94 : domain_id_(domain_id)
95 , topic_name_(topic, allocator)
96 , type_name_(type, allocator) {
100 : domain_id_(rhs.domain_id_)
101 , topic_name_(rhs.topic_name_)
102 , type_name_(rhs.type_name_) {
129 static_cast<u_long
>(this->domain_id_)
130 + this->topic_name_.hash()
131 + this->type_name_.hash();
162 void get_sample(
char const *& s,
201 char const * topic_name,
202 char const * type_name,
209 char const * topic_name,
210 char const * type_name,
#define ACE_BEGIN_VERSIONED_NAMESPACE_DECL
DDS::DomainId_t domain_id_
DurabilityArray< DurabilityQueue< sample_data_type > * > sample_list_type
DDS::DurabilityQosPolicyKind kind_
ACE_SYNCH_MUTEX lock_
Lock for synchronized access to the underlying map.
bool operator<(key_type const &rhs) const
Underlying data cache for both OpenDDS TRANSIENT and PERSISTENT DURABILITY implementations..
unique_ptr< ACE_Allocator > const allocator_
Allocator used to allocate memory for sample map and lists.
bool operator==(const DisjointSequence::OrderedRanges< T > &a, const DisjointSequence::OrderedRanges< T > &b)
Sample list data type for all samples.
ACE_Allocator * allocator_
Queue class that provides a means to reset the underlying ACE_Allocator.
DOMAINID_TYPE_NATIVE DomainId_t
Implements the OpenDDS::DCPS::DataWriterRemote interfaces and DDS::DataWriter interfaces.
sample_map_type * samples_
Map of all data samples.
Array class that provides a means to reset the underlying ACE_Allocator.
DDS::Time_t source_timestamp_
key_type(key_type const &rhs)
#define ACE_END_VERSIONED_NAMESPACE_DECL
ACE_Hash_Map_With_Allocator< key_type, sample_list_type * > sample_map_type
timer_id_list_type cleanup_timer_ids_
Timer ID list.
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
int insert(Container &c, const ValueType &v)
ACE_Reactor_Timer_Interface * reactor_
Reactor with which cleanup timers will be registered.
The Internal API and Implementation of OpenDDS.
A container for instances sample data.
Key type for underlying maps.
key_type(DDS::DomainId_t domain_id, char const *topic, char const *type, ACE_Allocator *allocator)
ACE_TCHAR * timestamp(const ACE_Time_Value &time_value, ACE_TCHAR date_and_time[], size_t time_len, bool return_pointer_to_first_digit=false)