blob: cbc3064913173ceb80efb9d988941e3a3c9d643d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
#ifndef CURRENT_IMPL_H
#define CURRENT_IMPL_H
#include /**/ "ace/pre.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
#if TAO_HAS_TRANSPORT_CURRENT == 1
#include "tao/TransportCurrent/TCC.h"
#include "tao/LocalObject.h"
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
class TAO_Transport;
namespace TAO
{
namespace Transport
{
// Forward decl
class Stats;
/**
* @class Current_impl
*
* @brief Implementation of the TAO::Transport::Current
* interface.
*
* Current_Impl is useful for obtaining information about the
* Transport, associated with the calling thread.
*/
class TAO_Transport_Current_Export Current_Impl
: public virtual Current
, public virtual ::CORBA::LocalObject
{
public:
/// Constructor.
Current_Impl (TAO_ORB_Core* core, size_t tss_slot_id);
/**
* These are methods exposed by the
* PortableInterceptor::Current interface.
*/
//@{
virtual CORBA::Long id ();
virtual CounterT bytes_sent ();
virtual CounterT bytes_received ();
virtual CounterT messages_sent ();
virtual CounterT messages_received ();
virtual ::TimeBase::TimeT open_since ();
//@}
protected:
/**
* Some helper methods
*/
//@{
/// A (strategy) method used to obtain the transport ptr
const TAO_Transport* transport () const;
/// A Stats instance. If protocol is unavailable (0) or the
/// TAO_HAS_TRANSPORT_CURRENT macro is defined as anything but
/// 1, a single static instance will be used.
const TAO::Transport::Stats* transport_stats () const;
//@}
/// Destructor is protected to enforce the fact this class is
/// reference counted, and should not be destroyed using
/// delete() by anything other than the reference counting
/// mechanism.
virtual ~Current_Impl (void);
private:
Current_Impl (const Current_Impl &) = delete;
void operator= (const Current_Impl &) = delete;
private:
// The ORB (core) that owes us.
TAO_ORB_Core* core_;
// The ORB's TSS slot id for the Transport ptr
size_t tss_slot_id_;
};
}
}
TAO_END_VERSIONED_NAMESPACE_DECL
#endif /* TAO_HAS_TRANSPORT_CURRENT == 1 */
#include /**/ "ace/post.h"
#endif /* CURRENT_IMPL_H */
|