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>

Collaboration diagram for TAO::Transport_Selection_Guard:

Collaboration graph
List of all members.

Public Member Functions

 Transport_Selection_Guard (TAO_Transport *t)
 ~Transport_Selection_Guard (void)
TAO_Transportoperator-> (void) const
TAO_Transportoperator * (void) const
TAO_Transportget (void) const
Transport_Selection_Guardset (TAO_Transport *t)

Static Public Member Functions

static Transport_Selection_Guardcurrent (TAO_ORB_Core *core, size_t tss_slot_id)

Private Member Functions

 Transport_Selection_Guard (const Transport_Selection_Guard &)
Transport_Selection_Guardoperator= (const Transport_Selection_Guard &)

Private Attributes

 The "real" Transport, i.e. the one selected at present.

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:


Constructor & Destructor Documentation

TAO::Transport_Selection_Guard::Transport_Selection_Guard ( TAO_Transport t  ) 


TAO::Transport_Selection_Guard::~Transport_Selection_Guard ( void   ) 


TAO::Transport_Selection_Guard::Transport_Selection_Guard ( const Transport_Selection_Guard  )  [private]

Member Function Documentation

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]


TAO_Transport& TAO::Transport_Selection_Guard::operator * ( void   )  const [inline]


TAO_Transport* TAO::Transport_Selection_Guard::operator-> ( void   )  const [inline]


Transport_Selection_Guard& TAO::Transport_Selection_Guard::operator= ( const Transport_Selection_Guard  )  [private]

Transport_Selection_Guard& TAO::Transport_Selection_Guard::set ( TAO_Transport t  )  [inline]


Member Data Documentation

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.

The documentation for this class was generated from the following files:
Generated on Thu Mar 22 07:26:47 2007 for TAO by  doxygen 1.4.7-1