LCOV - code coverage report
Current view: top level - DCPS - PublicationInstance.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 10 0.0 %
Date: 2023-04-30 01:32:43 Functions: 0 3 0.0 %

          Line data    Source code
       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             : 
      24             : OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
      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             :   */
      40             : struct OpenDDS_Dcps_Export PublicationInstance : public virtual RcObject {
      41             : 
      42           0 :   PublicationInstance(Message_Block_Ptr registered_sample)
      43           0 :     : sequence_(),
      44           0 :       group_id_(0),
      45           0 :       registered_sample_(registered_sample.release()),
      46           0 :       instance_handle_(0),
      47           0 :       durable_samples_remaining_(0),
      48           0 :       deadline_()
      49             :   {
      50           0 :   }
      51             : 
      52           0 :   ~PublicationInstance() {
      53           0 :   }
      54             : 
      55             :   /// The sequence number.
      56             :   SequenceNumber sequence_;
      57             : 
      58             :   /// The group id. // NOT USED IN FIRST IMPL
      59             :   CoherencyGroup group_id_ ;
      60             : 
      61             :   /// The sample data for registration.
      62             :   Message_Block_Ptr registered_sample_;
      63             : 
      64             :   /// History of the instance samples.
      65             :   InstanceDataSampleList samples_;
      66             : 
      67             :   /// The instance handle for the registered object
      68             :   DDS::InstanceHandle_t instance_handle_;
      69             : 
      70             :   /// Only used by WriteDataContainer::reenqueue_all() while WDC is locked.
      71             :   ssize_t durable_samples_remaining_;
      72             : 
      73             :   /// Deadline for Deadline QoS.
      74             :   MonotonicTimePoint deadline_;
      75             : };
      76             : 
      77             : typedef RcHandle<PublicationInstance> PublicationInstance_rch;
      78             : 
      79             : } // namespace DCPS
      80             : } // namespace OpenDDS
      81             : 
      82             : OPENDDS_END_VERSIONED_NAMESPACE_DECL
      83             : 
      84             : #endif /* OPENDDS_DCPS_PUBLICATION_INSTANCE_H */

Generated by: LCOV version 1.16