TAO_PortableServer
2.3.3
|
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>
Classes | |
class | Pre_Invoke_State |
This struct keeps track of state related to pre- and post-invoke operations. More... | |
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. More... | |
~Servant_Upcall (void) | |
Destructor. More... | |
int | prepare_for_upcall (const TAO::ObjectKey &key, const char *operation, CORBA::Object_out forward_to) |
Locate POA and servant. More... | |
int | prepare_for_upcall_i (const TAO::ObjectKey &key, const char *operation, CORBA::Object_out forward_to, bool &wait_occurred_restart_call) |
Helper. More... | |
void | pre_invoke_remote_request (TAO_ServerRequest &req) |
Run pre_invoke for a remote request. More... | |
void | pre_invoke_collocated_request (void) |
Run pre_invoke for a collocated request. More... | |
void | post_invoke (void) |
Run post_invoke for a request. More... | |
::TAO_Root_POA * | lookup_POA (const TAO::ObjectKey &key) |
Locate POA. More... | |
::TAO_Root_POA & | poa (void) const |
POA accessor. More... | |
TAO_Object_Adapter & | object_adapter (void) const |
Object Adapter accessor. More... | |
const PortableServer::ObjectId & | id (void) const |
System ID accessor. More... | |
void | user_id (const PortableServer::ObjectId *) |
const PortableServer::ObjectId & | user_id (void) const |
PortableServer::Servant | servant (void) const |
Servant accessor. More... | |
void * | locator_cookie (void) const |
Get the Servant Locator's cookie. More... | |
void | locator_cookie (void *cookie) |
Set the Servant Locator's cookie. More... | |
const char * | operation (void) const |
Get the operation name. More... | |
void | operation (const char *) |
Set the operation name. More... | |
void | active_object_map_entry (TAO_Active_Object_Map_Entry *entry) |
Set the active_object_map_entry. More... | |
TAO_Active_Object_Map_Entry * | active_object_map_entry (void) const |
Get the active_object_map_entry. More... | |
CORBA::Short | priority (void) const |
Get the priority for the current upcall. More... | |
State | state (void) const |
Get the state. More... | |
void | state (State) |
Set the state. More... | |
void | increment_servant_refcount (void) |
Increment the refcount. More... | |
Protected Member Functions | |
void | post_invoke_servant_cleanup (void) |
void | single_threaded_poa_setup (void) |
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. More... | |
Protected Attributes | |
TAO_Object_Adapter * | object_adapter_ |
::TAO_Root_POA * | poa_ |
PortableServer::Servant | servant_ |
State | state_ |
CORBA::Octet | system_id_buf_ [TAO_POA_OBJECT_ID_BUF_SIZE] |
PortableServer::ObjectId | system_id_ |
const PortableServer::ObjectId * | user_id_ |
POA_Current_Impl | current_context_ |
void * | cookie_ |
Servant Locator's cookie. More... | |
const char * | operation_ |
Operation name for this current. More... | |
TAO_Active_Object_Map_Entry * | active_object_map_entry_ |
Pre_Invoke_State | pre_invoke_state_ |
Preinvoke data for the upcall. More... | |
Private Member Functions | |
Servant_Upcall (const Servant_Upcall &) | |
void | operator= (const Servant_Upcall &) |
Friends | |
class | ::TAO_RT_Collocation_Resolver |
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.
|
explicit |
Constructor.
TAO::Portable_Server::Servant_Upcall::~Servant_Upcall | ( | void | ) |
Destructor.
|
private |
void TAO::Portable_Server::Servant_Upcall::active_object_map_entry | ( | TAO_Active_Object_Map_Entry * | entry | ) |
Set the active_object_map_entry.
TAO_Active_Object_Map_Entry * TAO::Portable_Server::Servant_Upcall::active_object_map_entry | ( | void | ) | const |
Get the active_object_map_entry.
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.
void * TAO::Portable_Server::Servant_Upcall::locator_cookie | ( | void | ) | const |
Get the Servant Locator's cookie.
void TAO::Portable_Server::Servant_Upcall::locator_cookie | ( | void * | cookie | ) |
Set the Servant Locator's cookie.
TAO_Root_POA * TAO::Portable_Server::Servant_Upcall::lookup_POA | ( | const TAO::ObjectKey & | key | ) |
Locate POA.
TAO_Object_Adapter & TAO::Portable_Server::Servant_Upcall::object_adapter | ( | void | ) | const |
Object Adapter accessor.
const char * TAO::Portable_Server::Servant_Upcall::operation | ( | void | ) | const |
Get the operation name.
void TAO::Portable_Server::Servant_Upcall::operation | ( | const char * | name | ) |
Set the operation name.
|
private |
TAO_Root_POA & TAO::Portable_Server::Servant_Upcall::poa | ( | void | ) | const |
POA accessor.
|
protected |
void TAO::Portable_Server::Servant_Upcall::post_invoke | ( | void | ) |
Run post_invoke for a request.
|
protected |
void TAO::Portable_Server::Servant_Upcall::pre_invoke_collocated_request | ( | void | ) |
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, | ||
bool & | wait_occurred_restart_call | ||
) |
Helper.
CORBA::Short TAO::Portable_Server::Servant_Upcall::priority | ( | void | ) | const |
Get the priority for the current upcall.
PortableServer::Servant TAO::Portable_Server::Servant_Upcall::servant | ( | void | ) | const |
Servant accessor.
|
protected |
|
protected |
|
protected |
Servant_Upcall::State TAO::Portable_Server::Servant_Upcall::state | ( | void | ) | const |
Get the state.
void TAO::Portable_Server::Servant_Upcall::state | ( | Servant_Upcall::State | state | ) |
Set the state.
|
protected |
Clean-up / reset state of this Servant_Upcall object.
void TAO::Portable_Server::Servant_Upcall::user_id | ( | const PortableServer::ObjectId * | id | ) |
User ID accessors. This is the same value returned by PortableServer::Current::get_object_id().
const PortableServer::ObjectId & TAO::Portable_Server::Servant_Upcall::user_id | ( | void | ) | const |
|
friend |
|
protected |
Pointer to the entry in the TAO_Active_Object_Map corresponding to the servant for this request.
|
protected |
Servant Locator's cookie.
|
protected |
|
protected |
|
protected |
Operation name for this current.
|
protected |
|
protected |
Preinvoke data for the upcall.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |