LCOV - code coverage report
Current view: top level - DCPS/transport/framework - TransportCustomizedElement.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 3 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_TRANSPORT_FRAMEWORK_TRANSPORTCUSTOMIZEDELEMENT_H
       9             : #define OPENDDS_DCPS_TRANSPORT_FRAMEWORK_TRANSPORTCUSTOMIZEDELEMENT_H
      10             : 
      11             : #include "dds/DCPS/dcps_export.h"
      12             : #include "TransportQueueElement.h"
      13             : #include "dds/DCPS/Message_Block_Ptr.h"
      14             : 
      15             : OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
      16             : 
      17             : namespace OpenDDS {
      18             : namespace DCPS {
      19             : 
      20             : class TransportSendElement;
      21             : 
      22             : class OpenDDS_Dcps_Export TransportCustomizedElement
      23             :   : public TransportQueueElement {
      24             : 
      25             : public:
      26             :   explicit TransportCustomizedElement(TransportQueueElement* orig);
      27             : 
      28             :   void set_fragment(TransportQueueElement* orig);
      29             : 
      30             :   virtual GUID_t publication_id() const;
      31             :   void set_publication_id(const GUID_t& id);
      32             : 
      33             :   GUID_t subscription_id() const;
      34             :   void set_subscription_id(const GUID_t& id);
      35             : 
      36             :   SequenceNumber sequence() const;
      37             :   void set_sequence(const SequenceNumber& value);
      38             : 
      39             :   virtual ACE_Message_Block* duplicate_msg() const;
      40             : 
      41             :   virtual const ACE_Message_Block* msg() const;
      42             :   void set_msg(Message_Block_Ptr m);
      43             : 
      44             :   virtual const ACE_Message_Block* msg_payload() const;
      45             : 
      46           0 :   virtual bool owned_by_transport() { return false; }
      47             : 
      48           0 :   virtual bool is_fragment() const { return fragment_; }
      49             : 
      50             :   const TransportSendElement* original_send_element() const;
      51             : 
      52             :   virtual bool is_last_fragment() const;
      53             : 
      54             : protected:
      55             :   virtual void release_element(bool dropped_by_transport);
      56             : 
      57           0 :   virtual bool requires_exclusive_packet() const { return exclusive_; }
      58             :   void set_requires_exclusive() { exclusive_ = true; }
      59             : 
      60             :   virtual ~TransportCustomizedElement();
      61             : 
      62             :   static const TransportSendElement* find_original_send_element(TransportQueueElement* orig);
      63             : 
      64             : private:
      65             :   TransportQueueElement* orig_;
      66             :   const TransportSendElement* original_send_element_;
      67             :   Message_Block_Ptr msg_;
      68             :   GUID_t publication_id_;
      69             :   GUID_t subscription_id_;
      70             :   SequenceNumber sequence_;
      71             :   bool fragment_, exclusive_;
      72             : };
      73             : 
      74             : } // namespace DCPS
      75             : } // namespace OpenDDS
      76             : 
      77             : OPENDDS_END_VERSIONED_NAMESPACE_DECL
      78             : 
      79             : #if defined (__ACE_INLINE__)
      80             : #include "TransportCustomizedElement.inl"
      81             : #endif /* __ACE_INLINE__ */
      82             : 
      83             : #endif  /* OPENDDS_DCPS_TRANSPORTCUSTOMIZEDELEMENT_H */

Generated by: LCOV version 1.16