OpenDDS  Snapshot(2023/04/28-20:55)
BuildChainVisitor.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_TRANSPORT_FRAMEWORK_BUILDCHAINVISITOR_H
9 #define OPENDDS_DCPS_TRANSPORT_FRAMEWORK_BUILDCHAINVISITOR_H
10 
11 #include "dds/DCPS/dcps_export.h"
12 #include "BasicQueueVisitor_T.h"
13 
15 class ACE_Message_Block;
17 
19 
20 namespace OpenDDS {
21 namespace DCPS {
22 
23 class TransportQueueElement;
24 
25 class OpenDDS_Dcps_Export BuildChainVisitor : public BasicQueueVisitor<TransportQueueElement> {
26 public:
27 
29  virtual ~BuildChainVisitor();
30 
31  virtual int visit_element(TransportQueueElement* element);
32 
33  /// Accessor to extract the chain, leaving the head_ and tail_
34  /// set to 0 as a result.
35  ACE_Message_Block* chain();
36 
37 private:
38 
41 };
42 
43 } // namespace DCPS
44 } // namespace OpenDDS
45 
47 
48 #if defined (__ACE_INLINE__)
49 #include "BuildChainVisitor.inl"
50 #endif /* __ACE_INLINE__ */
51 
52 #endif /* OPENDDS_DCPS_BUILDCHAINVISTOR_H */
#define ACE_BEGIN_VERSIONED_NAMESPACE_DECL
#define OpenDDS_Dcps_Export
Definition: dcps_export.h:24
#define ACE_END_VERSIONED_NAMESPACE_DECL
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
Base wrapper class around a data/control sample to be sent.