TAO_PortableServer 4.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
TAO_Active_Object_Map Class Reference

Map of object ids to servants. More...

#include <Active_Object_Map.h>

Collaboration diagram for TAO_Active_Object_Map:
Collaboration graph
[legend]

Public Types

typedef ACE_Map< PortableServer::ObjectId, TAO_Active_Object_Map_Entry * > user_id_map
 Base class of the id map.
 
typedef ACE_Hash_Map_Manager_Ex_Adapter< PortableServer::ObjectId, TAO_Active_Object_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To< PortableServer::ObjectId >, TAO_Incremental_Key_Generatoruser_id_hash_map
 Id hash map.
 
typedef ACE_Map_Manager_Adapter< PortableServer::ObjectId, TAO_Active_Object_Map_Entry *, TAO_Incremental_Key_Generatoruser_id_linear_map
 Id linear map.
 
typedef ACE_Active_Map_Manager_Adapter< PortableServer::ObjectId, TAO_Active_Object_Map_Entry *, TAO_Ignore_Original_Key_Adapteruser_id_active_map
 Id active map.
 
typedef ACE_Map< PortableServer::Servant, TAO_Active_Object_Map_Entry * > servant_map
 Base class of the servant map.
 
typedef ACE_Hash_Map_Manager_Ex_Adapter< PortableServer::Servant, TAO_Active_Object_Map_Entry *, TAO_Servant_Hash, ACE_Equal_To< PortableServer::Servant >, ACE_Noop_Key_Generator< PortableServer::Servant > > servant_hash_map
 Servant hash map.
 
typedef ACE_Map_Manager_Adapter< PortableServer::Servant, TAO_Active_Object_Map_Entry *, ACE_Noop_Key_Generator< PortableServer::Servant > > servant_linear_map
 Servant linear map.
 

Public Member Functions

 TAO_Active_Object_Map (int user_id_policy, int unique_id_policy, int persistent_id_policy, const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters)
 Constructor.
 
 ~TAO_Active_Object_Map ()
 Destructor.
 
int is_servant_in_map (PortableServer::Servant servant, bool &deactivated)
 Must be used with UNIQUE_ID policy.
 
bool is_user_id_in_map (const PortableServer::ObjectId &user_id, CORBA::Short priority, bool &priorities_match, bool &deactivated)
 
int bind_using_system_id_returning_system_id (PortableServer::Servant servant, CORBA::Short priority, PortableServer::ObjectId_out system_id)
 Must be used with SYSTEM_ID policy.
 
int bind_using_system_id_returning_user_id (PortableServer::Servant servant, CORBA::Short priority, PortableServer::ObjectId_out user_id)
 Must be used with SYSTEM_ID policy.
 
int bind_using_user_id (PortableServer::Servant servant, const PortableServer::ObjectId &user_id, CORBA::Short priority)
 
int find_system_id_using_user_id (const PortableServer::ObjectId &user_id, CORBA::Short priority, PortableServer::ObjectId_out system_id)
 
int rebind_using_user_id_and_system_id (PortableServer::Servant servant, const PortableServer::ObjectId &user_id, const PortableServer::ObjectId &system_id, TAO_Active_Object_Map_Entry *&entry)
 Can be used with any policy.
 
int unbind_using_user_id (const PortableServer::ObjectId &user_id)
 
int find_user_id_using_servant (PortableServer::Servant servant, PortableServer::ObjectId_out user_id)
 
int find_system_id_using_servant (PortableServer::Servant servant, PortableServer::ObjectId_out system_id, CORBA::Short &priority)
 
int find_servant_using_user_id (const PortableServer::ObjectId &user_id, PortableServer::Servant &servant)
 
int find_servant_using_system_id_and_user_id (const PortableServer::ObjectId &system_id, const PortableServer::ObjectId &user_id, PortableServer::Servant &servant, TAO_Active_Object_Map_Entry *&entry)
 Can be used with any policy.
 
int find_servant_and_system_id_using_user_id (const PortableServer::ObjectId &user_id, PortableServer::Servant &servant, PortableServer::ObjectId_out system_id, CORBA::Short &priority)
 
int find_entry_using_user_id (const PortableServer::ObjectId &user_id, TAO_Active_Object_Map_Entry *&entry)
 
int find_user_id_using_system_id (const PortableServer::ObjectId &system_id, PortableServer::ObjectId_out user_id)
 
int find_user_id_using_system_id (const PortableServer::ObjectId &system_id, PortableServer::ObjectId &user_id)
 
CORBA::Boolean remaining_activations (PortableServer::Servant servant)
 
size_t current_size ()
 Size of the map.
 

Static Public Member Functions

static size_t system_id_size ()
 Can be used with any policy.
 
static void set_system_id_size (const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters)
 Set the system id size.
 

Public Attributes

std::unique_ptr< user_id_mapuser_id_map_
 Id map.
 
std::unique_ptr< servant_mapservant_map_
 Servant map.
 
std::unique_ptr< TAO_Id_Uniqueness_Strategyid_uniqueness_strategy_
 Id uniqueness strategy.
 
std::unique_ptr< TAO_Lifespan_Strategylifespan_strategy_
 Lifespan strategy.
 
std::unique_ptr< TAO_Id_Assignment_Strategyid_assignment_strategy_
 Id assignment strategy.
 
std::unique_ptr< TAO_Id_Hint_Strategyid_hint_strategy_
 Id hint strategy.
 
bool using_active_maps_
 

Static Public Attributes

static size_t system_id_size_ = 0
 Size of the system id produced by the map.
 

Detailed Description

Map of object ids to servants.

Implementation to be used by the POA.

Member Typedef Documentation

◆ servant_hash_map

Servant hash map.

◆ servant_linear_map

Servant linear map.

◆ servant_map

Base class of the servant map.

◆ user_id_active_map

Id active map.

◆ user_id_hash_map

Id hash map.

◆ user_id_linear_map

Id linear map.

◆ user_id_map

Base class of the id map.

Constructor & Destructor Documentation

◆ TAO_Active_Object_Map()

TAO_Active_Object_Map::TAO_Active_Object_Map ( int user_id_policy,
int unique_id_policy,
int persistent_id_policy,
const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters & creation_parameters )

Constructor.

◆ ~TAO_Active_Object_Map()

TAO_Active_Object_Map::~TAO_Active_Object_Map ( )

Destructor.

Member Function Documentation

◆ bind_using_system_id_returning_system_id()

int TAO_Active_Object_Map::bind_using_system_id_returning_system_id ( PortableServer::Servant servant,
CORBA::Short priority,
PortableServer::ObjectId_out system_id )

Must be used with SYSTEM_ID policy.

◆ bind_using_system_id_returning_user_id()

int TAO_Active_Object_Map::bind_using_system_id_returning_user_id ( PortableServer::Servant servant,
CORBA::Short priority,
PortableServer::ObjectId_out user_id )

Must be used with SYSTEM_ID policy.

◆ bind_using_user_id()

int TAO_Active_Object_Map::bind_using_user_id ( PortableServer::Servant servant,
const PortableServer::ObjectId & user_id,
CORBA::Short priority )

Can be used with any policy. With the SYSTEM_ID policy, user_id is actually system_id.

◆ current_size()

size_t TAO_Active_Object_Map::current_size ( )

Size of the map.

◆ find_entry_using_user_id()

int TAO_Active_Object_Map::find_entry_using_user_id ( const PortableServer::ObjectId & user_id,
TAO_Active_Object_Map_Entry *& entry )

Can be used with any policy. With the SYSTEM_ID policy, user_id is identical to system_id.

Return values
-1Entry is not found or is deactivated.
0Entry is found.

◆ find_servant_and_system_id_using_user_id()

int TAO_Active_Object_Map::find_servant_and_system_id_using_user_id ( const PortableServer::ObjectId & user_id,
PortableServer::Servant & servant,
PortableServer::ObjectId_out system_id,
CORBA::Short & priority )

Can be used with any policy. With the SYSTEM_ID policy, user_id is identical to system_id.

◆ find_servant_using_system_id_and_user_id()

int TAO_Active_Object_Map::find_servant_using_system_id_and_user_id ( const PortableServer::ObjectId & system_id,
const PortableServer::ObjectId & user_id,
PortableServer::Servant & servant,
TAO_Active_Object_Map_Entry *& entry )

Can be used with any policy.

◆ find_servant_using_user_id()

int TAO_Active_Object_Map::find_servant_using_user_id ( const PortableServer::ObjectId & user_id,
PortableServer::Servant & servant )

Can be used with any policy. With the SYSTEM_ID policy, user_id is actually system_id.

◆ find_system_id_using_servant()

int TAO_Active_Object_Map::find_system_id_using_servant ( PortableServer::Servant servant,
PortableServer::ObjectId_out system_id,
CORBA::Short & priority )

Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy, user_id is actually system_id.

◆ find_system_id_using_user_id()

int TAO_Active_Object_Map::find_system_id_using_user_id ( const PortableServer::ObjectId & user_id,
CORBA::Short priority,
PortableServer::ObjectId_out system_id )

Can be used with any policy. With the SYSTEM_ID policy, user_id is actually system_id.

◆ find_user_id_using_servant()

int TAO_Active_Object_Map::find_user_id_using_servant ( PortableServer::Servant servant,
PortableServer::ObjectId_out user_id )

Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy, user_id is actually system_id.

◆ find_user_id_using_system_id() [1/2]

int TAO_Active_Object_Map::find_user_id_using_system_id ( const PortableServer::ObjectId & system_id,
PortableServer::ObjectId & user_id )

Can be used with any policy. When the SYSTEM_ID policy is used, the system_id is identical to user_id.

◆ find_user_id_using_system_id() [2/2]

int TAO_Active_Object_Map::find_user_id_using_system_id ( const PortableServer::ObjectId & system_id,
PortableServer::ObjectId_out user_id )

Can be used with any policy. When the SYSTEM_ID policy is used, the system_id is identical to user_id.

◆ is_servant_in_map()

int TAO_Active_Object_Map::is_servant_in_map ( PortableServer::Servant servant,
bool & deactivated )

Must be used with UNIQUE_ID policy.

◆ is_user_id_in_map()

bool TAO_Active_Object_Map::is_user_id_in_map ( const PortableServer::ObjectId & user_id,
CORBA::Short priority,
bool & priorities_match,
bool & deactivated )

Can be used with any policy. With the SYSTEM_ID policy, user_id is actually system_id.

◆ rebind_using_user_id_and_system_id()

int TAO_Active_Object_Map::rebind_using_user_id_and_system_id ( PortableServer::Servant servant,
const PortableServer::ObjectId & user_id,
const PortableServer::ObjectId & system_id,
TAO_Active_Object_Map_Entry *& entry )

Can be used with any policy.

◆ remaining_activations()

CORBA::Boolean TAO_Active_Object_Map::remaining_activations ( PortableServer::Servant servant)

Are there any remaining activations of servant in the active object map? Can be used with any policy.

◆ set_system_id_size()

void TAO_Active_Object_Map::set_system_id_size ( const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters & creation_parameters)
static

Set the system id size.

◆ system_id_size()

size_t TAO_Active_Object_Map::system_id_size ( )
static

Can be used with any policy.

◆ unbind_using_user_id()

int TAO_Active_Object_Map::unbind_using_user_id ( const PortableServer::ObjectId & user_id)

Can be used with any policy. With the SYSTEM_ID policy, user_id is actually system_id.

Member Data Documentation

◆ id_assignment_strategy_

std::unique_ptr<TAO_Id_Assignment_Strategy> TAO_Active_Object_Map::id_assignment_strategy_

Id assignment strategy.

◆ id_hint_strategy_

std::unique_ptr<TAO_Id_Hint_Strategy> TAO_Active_Object_Map::id_hint_strategy_

Id hint strategy.

◆ id_uniqueness_strategy_

std::unique_ptr<TAO_Id_Uniqueness_Strategy> TAO_Active_Object_Map::id_uniqueness_strategy_

Id uniqueness strategy.

◆ lifespan_strategy_

std::unique_ptr<TAO_Lifespan_Strategy> TAO_Active_Object_Map::lifespan_strategy_

Lifespan strategy.

◆ servant_map_

std::unique_ptr<servant_map> TAO_Active_Object_Map::servant_map_

Servant map.

◆ system_id_size_

size_t TAO_Active_Object_Map::system_id_size_ = 0
static

Size of the system id produced by the map.

◆ user_id_map_

std::unique_ptr<user_id_map> TAO_Active_Object_Map::user_id_map_

Id map.

◆ using_active_maps_

bool TAO_Active_Object_Map::using_active_maps_

Flag to see if we are using active maps in this active object map.


The documentation for this class was generated from the following files: