#include <Transport_Selection_Guard.h>
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:
TAO::Transport_Selection_Guard::Transport_Selection_Guard | ( | TAO_Transport * | t | ) |
Ctor.
TAO::Transport_Selection_Guard::~Transport_Selection_Guard | ( | void | ) |
Dtor.
TAO::Transport_Selection_Guard::Transport_Selection_Guard | ( | const Transport_Selection_Guard & | ) | [private] |
Transport_Selection_Guard * TAO::Transport_Selection_Guard::current | ( | TAO_ORB_Core * | core, | |
size_t | tss_slot_id | |||
) | [static] |
TAO_Transport* TAO::Transport_Selection_Guard::get | ( | void | ) | const [inline] |
Getter.
bool TAO::Transport_Selection_Guard::operator! | ( | ) | const [inline, private] |
TAO_Transport& TAO::Transport_Selection_Guard::operator* | ( | void | ) | const [inline] |
getter
TAO_Transport* TAO::Transport_Selection_Guard::operator-> | ( | void | ) | const [inline] |
getter
Transport_Selection_Guard& TAO::Transport_Selection_Guard::operator= | ( | const Transport_Selection_Guard & | rhs | ) | [inline] |
Transport_Selection_Guard& TAO::Transport_Selection_Guard::set | ( | TAO_Transport * | t | ) | [inline] |
Setter.
bool operator!= | ( | const U * | lhs, | |
const Transport_Selection_Guard & | rhs | |||
) | [friend] |
bool operator!= | ( | const Transport_Selection_Guard & | lhs, | |
const U * | rhs | |||
) | [friend] |
bool operator!= | ( | const TAO_Transport * | lhs, | |
const Transport_Selection_Guard & | rhs | |||
) | [friend] |
bool operator!= | ( | const Transport_Selection_Guard & | lhs, | |
const TAO_Transport * | rhs | |||
) | [friend] |
bool operator== | ( | const U * | lhs, | |
const Transport_Selection_Guard & | rhs | |||
) | [friend] |
bool operator== | ( | const Transport_Selection_Guard & | lhs, | |
const U * | rhs | |||
) | [friend] |
bool operator== | ( | const TAO_Transport * | lhs, | |
const Transport_Selection_Guard & | rhs | |||
) | [friend] |
bool operator== | ( | const Transport_Selection_Guard & | lhs, | |
const TAO_Transport * | rhs | |||
) | [friend] |
TAO_Transport* TAO::Transport_Selection_Guard::curr_ [private] |
The "real" Transport, i.e. the one selected at present.
Transport_Selection_Guard* TAO::Transport_Selection_Guard::prev_ [private] |
This is pointing to the guard that was active prior to instantiating us.