TAO::Transport_Selection_Guard Class Reference
Used by the Transport Current feature to keep track of which Transport is currently active.
More...
#include <Transport_Selection_Guard.h>
List of all members.
Public Member Functions |
| Transport_Selection_Guard (TAO_Transport *t) |
| Ctor.
|
| ~Transport_Selection_Guard (void) |
| Dtor.
|
TAO_Transport * | operator-> (void) const |
| getter
|
TAO_Transport & | operator* (void) const |
| getter
|
TAO_Transport * | get (void) const |
| Getter.
|
Transport_Selection_Guard & | set (TAO_Transport *t) |
| Setter.
|
Transport_Selection_Guard & | operator= (const Transport_Selection_Guard &rhs) |
Static Public Member Functions |
static Transport_Selection_Guard * | current (TAO_ORB_Core *core, size_t tss_slot_id) |
Private Member Functions |
| Transport_Selection_Guard (const Transport_Selection_Guard &) |
bool | operator! () const |
Private Attributes |
Transport_Selection_Guard * | prev_ |
TAO_Transport * | curr_ |
| The "real" Transport, i.e. the one selected at present.
|
Friends |
bool | operator== (const Transport_Selection_Guard &lhs, const TAO_Transport *rhs) |
bool | operator== (const TAO_Transport *lhs, const Transport_Selection_Guard &rhs) |
bool | operator!= (const Transport_Selection_Guard &lhs, const TAO_Transport *rhs) |
bool | operator!= (const TAO_Transport *lhs, const Transport_Selection_Guard &rhs) |
template<class U > |
bool | operator== (const Transport_Selection_Guard &lhs, const U *rhs) |
template<class U > |
bool | operator== (const U *lhs, const Transport_Selection_Guard &rhs) |
template<class U > |
bool | operator!= (const Transport_Selection_Guard &lhs, const U *rhs) |
template<class U > |
bool | operator!= (const U *lhs, const Transport_Selection_Guard &rhs) |
Detailed Description
Used by the Transport Current feature to keep track of which Transport is currently active.
Whenever a Transport is selected: during an upcall, or prior to a client invocation an instance of this class is created [on the stack, or as a member of another class] to keep track of the said Transport. The class implements the RAII idiom, which makes it possible to build a stack of these instances as the thread is doing nested upcalls or client invocations.
It utilizes TAO_TSS_Resources::tsg_ member pointer to keep track of stack-linked Transport_Selection_Guard instances.
If the Transport Current feature is disabled most methods are no-ops and add no overhead on the critical path.
See Also:
https://svn.dre.vanderbilt.edu/viewvc/Middleware/trunk/TAO/docs/transport_current/index.html?revision=HEAD
Constructor & Destructor Documentation
TAO::Transport_Selection_Guard::Transport_Selection_Guard |
( |
TAO_Transport * |
t |
) |
|
TAO::Transport_Selection_Guard::~Transport_Selection_Guard |
( |
void |
|
) |
|
Member Function Documentation
TAO_Transport* TAO::Transport_Selection_Guard::get |
( |
void |
|
) |
const [inline] |
bool TAO::Transport_Selection_Guard::operator! |
( |
|
) |
const [inline, private] |
TAO_Transport& TAO::Transport_Selection_Guard::operator* |
( |
void |
|
) |
const [inline] |
TAO_Transport* TAO::Transport_Selection_Guard::operator-> |
( |
void |
|
) |
const [inline] |
Friends And Related Function Documentation
Member Data Documentation
The "real" Transport, i.e. the one selected at present.
This is pointing to the guard that was active prior to instantiating us.
The documentation for this class was generated from the following files: