OpenDDS  Snapshot(2023/04/28-20:55)
PublicationInstance.h
Go to the documentation of this file.
1 /*
2  *
3  *
4  * Distributed under the OpenDDS License.
5  * See: http://www.opendds.org/license.html
6  */
7 
8 #ifndef OPENDDS_DCPS_PUBLICATION_INSTANCE_H
9 #define OPENDDS_DCPS_PUBLICATION_INSTANCE_H
10 
11 #include "dcps_export.h"
12 #include "InstanceDataSampleList.h"
13 #include "DataSampleElement.h"
14 #include "PoolAllocationBase.h"
15 #include "ace/Synch_Traits.h"
16 #include "RcObject.h"
17 #include "unique_ptr.h"
18 #include "TimeTypes.h"
19 
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 #pragma once
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 
25 
26 namespace OpenDDS {
27 namespace DCPS {
28 
29 typedef ACE_UINT16 CoherencyGroup;
30 
31 /**
32  * @class PublicationInstance
33  *
34  * @brief Struct that has information about an instance and the instance
35  * sample list.
36  * @note This struct retains the ownership of the registered sample data
37  * from typed datawriter. The data will be duplicated for the register,
38  * unregister and dispose control message.
39  */
41 
43  : sequence_(),
44  group_id_(0),
45  registered_sample_(registered_sample.release()),
46  instance_handle_(0),
47  durable_samples_remaining_(0),
48  deadline_()
49  {
50  }
51 
53  }
54 
55  /// The sequence number.
57 
58  /// The group id. // NOT USED IN FIRST IMPL
59  CoherencyGroup group_id_ ;
60 
61  /// The sample data for registration.
63 
64  /// History of the instance samples.
66 
67  /// The instance handle for the registered object
69 
70  /// Only used by WriteDataContainer::reenqueue_all() while WDC is locked.
72 
73  /// Deadline for Deadline QoS.
75 };
76 
78 
79 } // namespace DCPS
80 } // namespace OpenDDS
81 
83 
84 #endif /* OPENDDS_DCPS_PUBLICATION_INSTANCE_H */
RcHandle< PublicationInstance > PublicationInstance_rch
void release(T x)
#define OpenDDS_Dcps_Export
Definition: dcps_export.h:24
int ssize_t
MonotonicTimePoint deadline_
Deadline for Deadline QoS.
ACE_UINT16 CoherencyGroup
ssize_t durable_samples_remaining_
Only used by WriteDataContainer::reenqueue_all() while WDC is locked.
SequenceNumber sequence_
The sequence number.
HANDLE_TYPE_NATIVE InstanceHandle_t
Definition: DdsDcpsCore.idl:51
PublicationInstance(Message_Block_Ptr registered_sample)
DDS::InstanceHandle_t instance_handle_
The instance handle for the registered object.
CoherencyGroup group_id_
The group id. // NOT USED IN FIRST IMPL.
InstanceDataSampleList samples_
History of the instance samples.
Sequence number abstraction. Only allows positive 64 bit values.
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
Message_Block_Ptr registered_sample_
The sample data for registration.
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
Struct that has information about an instance and the instance sample list.