OpenDDS  Snapshot(2023/04/28-20:55)
TransportMonitorImpl.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_MONITOR_TRANSPORTMONITORIMPL_H
9 #define OPENDDS_MONITOR_TRANSPORTMONITORIMPL_H
10 
11 #include "monitor_export.h"
13 #include "monitorTypeSupportImpl.h"
15 #include <vector>
16 
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 #pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
20 
22 
23 namespace OpenDDS {
24 namespace DCPS {
25 
26 class TransportMonitorImpl : public Monitor {
27 public:
29  OpenDDS::DCPS::TransportReportDataWriter_ptr transport_writer);
30  virtual ~TransportMonitorImpl();
31  virtual void report();
32 
33 private:
34  OpenDDS::DCPS::TransportReportDataWriter_var transport_writer_;
35  std::string hostname_;
36  pid_t pid_;
37 
38  typedef std::vector<TransportReport> TransportReportVec;
40  static TransportReportVec queue_;
41 };
42 
43 } // namespace DCPS
44 } // namespace OpenDDS
45 
47 
48 #endif /* OPENDDS_DCPS_TRANSPORT_MONITOR_IMPL_H */
OpenDDS::DCPS::TransportReportDataWriter_var transport_writer_
std::vector< TransportReport > TransportReportVec
static ACE_Recursive_Thread_Mutex queue_lock_
TransportMonitorImpl(TransportImpl *transport, OpenDDS::DCPS::TransportReportDataWriter_ptr transport_writer)
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28