Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TAO::Portable_Server::Servant_Upcall Class Reference

This class finds out the POA and the servant to perform an upcall. It can only be instantiated without the object adapter's lock held. For each upcall a new instance of this class is created. More...

#include <Servant_Upcall.h>

Collaboration diagram for TAO::Portable_Server::Servant_Upcall:

Collaboration graph
[legend]
List of all members.

Public Types

enum  State {
  INITIAL_STAGE, OBJECT_ADAPTER_LOCK_ACQUIRED, POA_CURRENT_SETUP, OBJECT_ADAPTER_LOCK_RELEASED,
  SERVANT_LOCK_ACQUIRED
}

Public Member Functions

 Servant_Upcall (TAO_ORB_Core *orb_core)
 Constructor.
 ~Servant_Upcall (void)
 Destructor.
int prepare_for_upcall (const TAO::ObjectKey &key, const char *operation, CORBA::Object_out forward_to)
 Locate POA and servant.
int prepare_for_upcall_i (const TAO::ObjectKey &key, const char *operation, CORBA::Object_out forward_to, int &wait_occurred_restart_call)
 Helper.
void pre_invoke_remote_request (TAO_ServerRequest &req)
 Run pre_invoke for a remote request.
void pre_invoke_collocated_request ()
 Run pre_invoke for a collocated request.
void post_invoke (void)
 Run post_invoke for a request.
::TAO_Root_POAlookup_POA (const TAO::ObjectKey &key)
 Locate POA.
::TAO_Root_POApoa (void) const
 POA accessor.
TAO_Object_Adapterobject_adapter (void) const
 Object Adapter accessor.
const PortableServer::ObjectIdid (void) const
 System ID accessor.
void user_id (const PortableServer::ObjectId *)
const PortableServer::ObjectIduser_id (void) const
PortableServer::Servant servant (void) const
 Servant accessor.
void * locator_cookie (void) const
 Get the Servant Locator's cookie.
void locator_cookie (void *cookie)
 Set the Servant Locator's cookie.
const char * operation (void) const
 Get the operation name.
void operation (const char *)
 Set the operation name.
void active_object_map_entry (TAO_Active_Object_Map_Entry *entry)
 Set the active_object_map_entry.
TAO_Active_Object_Map_Entryactive_object_map_entry (void) const
 Get the active_object_map_entry.
CORBA::Short priority (void) const
 Get the priority for the current upcall.
State state (void) const
 Get the state.
void state (State)
 Set the state.
void increment_servant_refcount (void)
 Increment the refcount.

Protected Member Functions

void post_invoke_servant_cleanup (void)
void single_threaded_poa_setup ()
void single_threaded_poa_cleanup (void)
void servant_cleanup (void)
void poa_cleanup (void)
void upcall_cleanup (void)
 Clean-up / reset state of this Servant_Upcall object.

Protected Attributes

TAO_Object_Adapterobject_adapter_
::TAO_Root_POApoa_
PortableServer::Servant servant_
State state_
PortableServer::ObjectId system_id_
const PortableServer::ObjectIduser_id_
POA_Current_Impl current_context_
void * cookie_
 Servant Locator's cookie.
const char * operation_
 Operation name for this current.
TAO_Active_Object_Map_Entryactive_object_map_entry_
Pre_Invoke_State pre_invoke_state_
 Preinvoke data for the upcall.

Private Member Functions

 Servant_Upcall (const Servant_Upcall &)
void operator= (const Servant_Upcall &)

Friends

class ::TAO_RT_Collocation_Resolver

Detailed Description

This class finds out the POA and the servant to perform an upcall. It can only be instantiated without the object adapter's lock held. For each upcall a new instance of this class is created.


Member Enumeration Documentation

enum TAO::Portable_Server::Servant_Upcall::State
 

Enumeration values:
INITIAL_STAGE 
OBJECT_ADAPTER_LOCK_ACQUIRED 
POA_CURRENT_SETUP 
OBJECT_ADAPTER_LOCK_RELEASED 
SERVANT_LOCK_ACQUIRED 


Constructor & Destructor Documentation

TAO::Portable_Server::Servant_Upcall::Servant_Upcall TAO_ORB_Core orb_core  )  [explicit]
 

Constructor.

TAO::Portable_Server::Servant_Upcall::~Servant_Upcall void   ) 
 

Destructor.

TAO::Portable_Server::Servant_Upcall::Servant_Upcall const Servant_Upcall  )  [private]
 


Member Function Documentation

ACE_INLINE TAO_Active_Object_Map_Entry * TAO::Portable_Server::Servant_Upcall::active_object_map_entry void   )  const
 

Get the active_object_map_entry.

ACE_INLINE void TAO::Portable_Server::Servant_Upcall::active_object_map_entry TAO_Active_Object_Map_Entry entry  ) 
 

Set the active_object_map_entry.

ACE_INLINE const PortableServer::ObjectId & TAO::Portable_Server::Servant_Upcall::id void   )  const
 

System ID accessor.

void TAO::Portable_Server::Servant_Upcall::increment_servant_refcount void   ) 
 

Increment the refcount.

ACE_INLINE void TAO::Portable_Server::Servant_Upcall::locator_cookie void *  cookie  ) 
 

Set the Servant Locator's cookie.

ACE_INLINE void * TAO::Portable_Server::Servant_Upcall::locator_cookie void   )  const
 

Get the Servant Locator's cookie.

TAO_Root_POA * TAO::Portable_Server::Servant_Upcall::lookup_POA const TAO::ObjectKey key  ) 
 

Locate POA.

ACE_INLINE TAO_Object_Adapter & TAO::Portable_Server::Servant_Upcall::object_adapter void   )  const
 

Object Adapter accessor.

ACE_INLINE void TAO::Portable_Server::Servant_Upcall::operation const char *   ) 
 

Set the operation name.

ACE_INLINE const char * TAO::Portable_Server::Servant_Upcall::operation void   )  const
 

Get the operation name.

void TAO::Portable_Server::Servant_Upcall::operator= const Servant_Upcall  )  [private]
 

ACE_INLINE::TAO_Root_POA & TAO::Portable_Server::Servant_Upcall::poa void   )  const
 

POA accessor.

void TAO::Portable_Server::Servant_Upcall::poa_cleanup void   )  [protected]
 

void TAO::Portable_Server::Servant_Upcall::post_invoke void   ) 
 

Run post_invoke for a request.

void TAO::Portable_Server::Servant_Upcall::post_invoke_servant_cleanup void   )  [protected]
 

void TAO::Portable_Server::Servant_Upcall::pre_invoke_collocated_request  ) 
 

Run pre_invoke for a collocated request.

void TAO::Portable_Server::Servant_Upcall::pre_invoke_remote_request TAO_ServerRequest req  ) 
 

Run pre_invoke for a remote request.

int TAO::Portable_Server::Servant_Upcall::prepare_for_upcall const TAO::ObjectKey key,
const char *  operation,
CORBA::Object_out  forward_to
 

Locate POA and servant.

int TAO::Portable_Server::Servant_Upcall::prepare_for_upcall_i const TAO::ObjectKey key,
const char *  operation,
CORBA::Object_out  forward_to,
int &  wait_occurred_restart_call
 

Helper.

ACE_INLINE CORBA::Short TAO::Portable_Server::Servant_Upcall::priority void   )  const
 

Get the priority for the current upcall.

ACE_INLINE PortableServer::Servant TAO::Portable_Server::Servant_Upcall::servant void   )  const
 

Servant accessor.

void TAO::Portable_Server::Servant_Upcall::servant_cleanup void   )  [protected]
 

void TAO::Portable_Server::Servant_Upcall::single_threaded_poa_cleanup void   )  [protected]
 

void TAO::Portable_Server::Servant_Upcall::single_threaded_poa_setup  )  [protected]
 

ACE_INLINE void TAO::Portable_Server::Servant_Upcall::state State   ) 
 

Set the state.

ACE_INLINE Servant_Upcall::State TAO::Portable_Server::Servant_Upcall::state void   )  const
 

Get the state.

void TAO::Portable_Server::Servant_Upcall::upcall_cleanup void   )  [protected]
 

Clean-up / reset state of this Servant_Upcall object.

ACE_INLINE const PortableServer::ObjectId & TAO::Portable_Server::Servant_Upcall::user_id void   )  const
 

ACE_INLINE void TAO::Portable_Server::Servant_Upcall::user_id const PortableServer::ObjectId  ) 
 

User ID accessors. This is the same value returned by PortableServer::Current::get_object_id().


Friends And Related Function Documentation

friend class ::TAO_RT_Collocation_Resolver [friend]
 


Member Data Documentation

TAO_Active_Object_Map_Entry* TAO::Portable_Server::Servant_Upcall::active_object_map_entry_ [protected]
 

Pointer to the entry in the TAO_Active_Object_Map corresponding to the servant for this request.

void* TAO::Portable_Server::Servant_Upcall::cookie_ [protected]
 

Servant Locator's cookie.

POA_Current_Impl TAO::Portable_Server::Servant_Upcall::current_context_ [protected]
 

TAO_Object_Adapter* TAO::Portable_Server::Servant_Upcall::object_adapter_ [protected]
 

const char* TAO::Portable_Server::Servant_Upcall::operation_ [protected]
 

Operation name for this current.

::TAO_Root_POA* TAO::Portable_Server::Servant_Upcall::poa_ [protected]
 

Pre_Invoke_State TAO::Portable_Server::Servant_Upcall::pre_invoke_state_ [protected]
 

Preinvoke data for the upcall.

PortableServer::Servant TAO::Portable_Server::Servant_Upcall::servant_ [protected]
 

State TAO::Portable_Server::Servant_Upcall::state_ [protected]
 

PortableServer::ObjectId TAO::Portable_Server::Servant_Upcall::system_id_ [protected]
 

const PortableServer::ObjectId* TAO::Portable_Server::Servant_Upcall::user_id_ [protected]
 


The documentation for this class was generated from the following files:
Generated on Sun Mar 5 15:48:43 2006 for TAO_PortableServer by  doxygen 1.3.9.1