#include <Active_Object_Map.h>
Collaboration diagram for TAO_Active_Object_Map:

Implementation to be used by the POA.
Definition at line 45 of file Active_Object_Map.h.
|
Servant hash map.
Definition at line 199 of file Active_Object_Map.h. Referenced by TAO_Active_Object_Map(). |
|
|
Servant linear map.
Definition at line 206 of file Active_Object_Map.h. Referenced by TAO_Active_Object_Map(). |
|
|
Base class of the servant map.
Definition at line 191 of file Active_Object_Map.h. Referenced by TAO_Active_Object_Map(). |
|
|
Id active map.
Definition at line 186 of file Active_Object_Map.h. Referenced by TAO_Active_Object_Map(). |
|
|
Id hash map.
Definition at line 174 of file Active_Object_Map.h. Referenced by TAO_Active_Object_Map(). |
|
|
Id linear map.
Definition at line 180 of file Active_Object_Map.h. Referenced by TAO_Active_Object_Map(). |
|
|
Base class of the id map.
Definition at line 166 of file Active_Object_Map.h. Referenced by TAO_Active_Object_Map(). |
|
||||||||||||||||||||
|
Constructor.
Definition at line 80 of file Active_Object_Map.cpp. References ACE_ERROR, ACE_NEW_THROW_EX, TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters::active_object_map_size_, TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters::allow_reactivation_of_system_ids_, id_assignment_strategy_, id_hint_strategy_, id_uniqueness_strategy_, lifespan_strategy_, LM_ERROR, TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters::object_lookup_strategy_for_system_id_policy_, TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters::object_lookup_strategy_for_user_id_policy_, ACE_Auto_Basic_Ptr< X >::release(), TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters::reverse_object_lookup_strategy_for_unique_id_policy_, servant_hash_map, servant_linear_map, servant_map, servant_map_, TAO_Id_Assignment_Strategy::set_active_object_map(), TAO_Lifespan_Strategy::set_active_object_map(), TAO_Id_Uniqueness_Strategy::set_active_object_map(), set_system_id_size(), TAO_ACTIVE_DEMUX, TAO_DYNAMIC_HASH, TAO_LINEAR, TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters::use_active_hint_in_ids_, user_id_active_map, user_id_hash_map, user_id_linear_map, user_id_map, user_id_map_, and using_active_maps_.
00084 : user_id_map_ (0), 00085 servant_map_ (0), 00086 id_uniqueness_strategy_ (0), 00087 lifespan_strategy_ (0), 00088 id_assignment_strategy_ (0), 00089 id_hint_strategy_ (0), 00090 using_active_maps_ (false) 00091 { 00092 TAO_Active_Object_Map::set_system_id_size (creation_parameters); 00093 00094 TAO_Id_Uniqueness_Strategy *id_uniqueness_strategy = 0; 00095 00096 if (unique_id_policy) 00097 { 00098 ACE_NEW_THROW_EX (id_uniqueness_strategy, 00099 TAO_Unique_Id_Strategy, 00100 CORBA::NO_MEMORY ()); 00101 } 00102 else 00103 { 00104 #if !defined (CORBA_E_MICRO) 00105 ACE_NEW_THROW_EX (id_uniqueness_strategy, 00106 TAO_Multiple_Id_Strategy, 00107 CORBA::NO_MEMORY ()); 00108 #else 00109 ACE_ERROR ((LM_ERROR, 00110 "Multiple Id Strategy not supported with CORBA/e\n")); 00111 #endif 00112 } 00113 00114 // Give ownership to the auto pointer. 00115 auto_ptr<TAO_Id_Uniqueness_Strategy> new_id_uniqueness_strategy (id_uniqueness_strategy); 00116 00117 TAO_Lifespan_Strategy *lifespan_strategy = 0; 00118 00119 if (persistent_id_policy) 00120 { 00121 #if !defined (CORBA_E_MICRO) 00122 ACE_NEW_THROW_EX (lifespan_strategy, 00123 TAO_Persistent_Strategy, 00124 CORBA::NO_MEMORY ()); 00125 #else 00126 ACE_UNUSED_ARG (persistent_id_policy); 00127 ACE_ERROR ((LM_ERROR, 00128 "Persistent Id Strategy not supported with CORBA/e\n")); 00129 #endif 00130 } 00131 else 00132 { 00133 ACE_NEW_THROW_EX (lifespan_strategy, 00134 TAO_Transient_Strategy, 00135 CORBA::NO_MEMORY ()); 00136 } 00137 00138 // Give ownership to the auto pointer. 00139 auto_ptr<TAO_Lifespan_Strategy> new_lifespan_strategy (lifespan_strategy); 00140 00141 TAO_Id_Assignment_Strategy *id_assignment_strategy = 0; 00142 00143 if (user_id_policy) 00144 { 00145 #if !defined (CORBA_E_MICRO) 00146 ACE_NEW_THROW_EX (id_assignment_strategy, 00147 TAO_User_Id_Strategy, 00148 CORBA::NO_MEMORY ()); 00149 #else 00150 ACE_ERROR ((LM_ERROR, 00151 "User Id Assignment not supported with CORBA/e\n")); 00152 #endif 00153 } 00154 else if (unique_id_policy) 00155 { 00156 ACE_NEW_THROW_EX (id_assignment_strategy, 00157 TAO_System_Id_With_Unique_Id_Strategy, 00158 CORBA::NO_MEMORY ()); 00159 } 00160 else 00161 { 00162 #if !defined (CORBA_E_MICRO) 00163 ACE_NEW_THROW_EX (id_assignment_strategy, 00164 TAO_System_Id_With_Multiple_Id_Strategy, 00165 CORBA::NO_MEMORY ()); 00166 #else 00167 ACE_ERROR ((LM_ERROR, 00168 "System Id Assignment with multiple not supported with CORBA/e\n")); 00169 #endif 00170 } 00171 00172 // Give ownership to the auto pointer. 00173 auto_ptr<TAO_Id_Assignment_Strategy> new_id_assignment_strategy (id_assignment_strategy); 00174 00175 TAO_Id_Hint_Strategy *id_hint_strategy = 0; 00176 if ((user_id_policy 00177 || creation_parameters.allow_reactivation_of_system_ids_) 00178 && creation_parameters.use_active_hint_in_ids_) 00179 { 00180 this->using_active_maps_ = true; 00181 00182 ACE_NEW_THROW_EX (id_hint_strategy, 00183 TAO_Active_Hint_Strategy (creation_parameters.active_object_map_size_), 00184 CORBA::NO_MEMORY ()); 00185 } 00186 else 00187 { 00188 ACE_NEW_THROW_EX (id_hint_strategy, 00189 TAO_No_Hint_Strategy, 00190 CORBA::NO_MEMORY ()); 00191 } 00192 00193 // Give ownership to the auto pointer. 00194 auto_ptr<TAO_Id_Hint_Strategy> new_id_hint_strategy (id_hint_strategy); 00195 00196 servant_map *sm = 0; 00197 if (unique_id_policy) 00198 { 00199 switch (creation_parameters.reverse_object_lookup_strategy_for_unique_id_policy_) 00200 { 00201 case TAO_LINEAR: 00202 #if (TAO_HAS_MINIMUM_POA_MAPS == 0) 00203 ACE_NEW_THROW_EX (sm, 00204 servant_linear_map (creation_parameters.active_object_map_size_), 00205 CORBA::NO_MEMORY ()); 00206 break; 00207 #else 00208 ACE_ERROR ((LM_ERROR, 00209 "linear option for -ORBUniqueidPolicyReverseDemuxStrategy " 00210 "not supported with minimum POA maps. " 00211 "Ingoring option to use default... \n")); 00212 /* FALL THROUGH */ 00213 #endif /* TAO_HAS_MINIMUM_POA_MAPS == 0 */ 00214 00215 case TAO_DYNAMIC_HASH: 00216 default: 00217 ACE_NEW_THROW_EX (sm, 00218 servant_hash_map (creation_parameters.active_object_map_size_), 00219 CORBA::NO_MEMORY ()); 00220 break; 00221 } 00222 } 00223 00224 // Give ownership to the auto pointer. 00225 auto_ptr<servant_map> new_servant_map (sm); 00226 00227 user_id_map *uim = 0; 00228 if (user_id_policy 00229 || creation_parameters.allow_reactivation_of_system_ids_) 00230 { 00231 switch (creation_parameters.object_lookup_strategy_for_user_id_policy_) 00232 { 00233 case TAO_LINEAR: 00234 #if (TAO_HAS_MINIMUM_POA_MAPS == 0) 00235 ACE_NEW_THROW_EX (uim, 00236 user_id_linear_map (creation_parameters.active_object_map_size_), 00237 CORBA::NO_MEMORY ()); 00238 break; 00239 #else 00240 ACE_ERROR ((LM_ERROR, 00241 "linear option for -ORBUseridPolicyDemuxStrategy " 00242 "not supported with minimum POA maps. " 00243 "Ingoring option to use default... \n")); 00244 /* FALL THROUGH */ 00245 #endif /* TAO_HAS_MINIMUM_POA_MAPS == 0 */ 00246 00247 case TAO_DYNAMIC_HASH: 00248 default: 00249 ACE_NEW_THROW_EX (uim, 00250 user_id_hash_map (creation_parameters.active_object_map_size_), 00251 CORBA::NO_MEMORY ()); 00252 break; 00253 } 00254 } 00255 else 00256 { 00257 switch (creation_parameters.object_lookup_strategy_for_system_id_policy_) 00258 { 00259 #if (TAO_HAS_MINIMUM_POA_MAPS == 0) 00260 case TAO_LINEAR: 00261 ACE_NEW_THROW_EX (uim, 00262 user_id_linear_map (creation_parameters.active_object_map_size_), 00263 CORBA::NO_MEMORY ()); 00264 break; 00265 00266 case TAO_DYNAMIC_HASH: 00267 ACE_NEW_THROW_EX (uim, 00268 user_id_hash_map (creation_parameters.active_object_map_size_), 00269 CORBA::NO_MEMORY ()); 00270 break; 00271 #else 00272 case TAO_LINEAR: 00273 case TAO_DYNAMIC_HASH: 00274 ACE_ERROR ((LM_ERROR, 00275 "linear and dynamic options for -ORBSystemidPolicyDemuxStrategy " 00276 "are not supported with minimum POA maps. " 00277 "Ingoring option to use default... \n")); 00278 /* FALL THROUGH */ 00279 #endif /* TAO_HAS_MINIMUM_POA_MAPS == 0 */ 00280 00281 case TAO_ACTIVE_DEMUX: 00282 default: 00283 00284 this->using_active_maps_ = true; 00285 00286 ACE_NEW_THROW_EX (uim, 00287 user_id_active_map (creation_parameters.active_object_map_size_), 00288 CORBA::NO_MEMORY ()); 00289 break; 00290 } 00291 } 00292 00293 // Give ownership to the auto pointer. 00294 auto_ptr<user_id_map> new_user_id_map (uim); 00295 00296 id_uniqueness_strategy->set_active_object_map (this); 00297 lifespan_strategy->set_active_object_map (this); 00298 id_assignment_strategy->set_active_object_map (this); 00299 00300 // Finally everything is fine. Make sure to take ownership away 00301 // from the auto pointer. 00302 this->id_uniqueness_strategy_ = new_id_uniqueness_strategy.release (); 00303 this->lifespan_strategy_ = new_lifespan_strategy.release (); 00304 this->id_assignment_strategy_ = new_id_assignment_strategy.release (); 00305 this->id_hint_strategy_ = new_id_hint_strategy.release (); 00306 this->servant_map_ = new_servant_map.release (); 00307 this->user_id_map_ = new_user_id_map.release (); 00308 } |
|
|
Destructor.
Definition at line 310 of file Active_Object_Map.cpp. References ACE_Map< KEY, VALUE >::begin(), ACE_Map< KEY, VALUE >::end(), id_assignment_strategy_, id_hint_strategy_, id_uniqueness_strategy_, lifespan_strategy_, servant_map_, and user_id_map_.
00311 {
00312 user_id_map::iterator iterator = this->user_id_map_->begin ();
00313 user_id_map::iterator end = this->user_id_map_->end ();
00314
00315 for (;
00316 iterator != end;
00317 ++iterator)
00318 {
00319 user_id_map::value_type map_entry = *iterator;
00320 delete map_entry.second ();
00321 }
00322
00323 delete this->id_uniqueness_strategy_;
00324 delete this->lifespan_strategy_;
00325 delete this->id_assignment_strategy_;
00326 delete this->id_hint_strategy_;
00327 delete this->servant_map_;
00328 delete this->user_id_map_;
00329 }
|
|
||||||||||||||||
|
Must be used with SYSTEM_ID policy.
Definition at line 18 of file Active_Object_Map.inl. References ACE_NEW_RETURN, TAO_Id_Assignment_Strategy::bind_using_system_id(), ACE_Map< KEY, VALUE >::create_key(), id_assignment_strategy_, id_hint_strategy_, TAO_Id_Hint_Strategy::system_id(), user_id_map_, and using_active_maps_.
00021 {
00022 if (servant == 0 &&
00023 !this->using_active_maps_)
00024 {
00025 PortableServer::ObjectId id;
00026
00027 int result =
00028 this->user_id_map_->create_key (id);
00029
00030 if (result == 0)
00031 {
00032 ACE_NEW_RETURN (system_id,
00033 PortableServer::ObjectId (id),
00034 -1);
00035 }
00036
00037 return result;
00038 }
00039
00040 TAO_Active_Object_Map_Entry *entry = 0;
00041
00042 int result = this->id_assignment_strategy_->bind_using_system_id (servant,
00043 priority,
00044 entry);
00045
00046 if (result == 0)
00047 result = this->id_hint_strategy_->system_id (system_id,
00048 *entry);
00049 return result;
00050 }
|
|
||||||||||||||||
|
Must be used with SYSTEM_ID policy.
Definition at line 53 of file Active_Object_Map.inl. References ACE_NEW_RETURN, TAO_Id_Assignment_Strategy::bind_using_system_id(), id_assignment_strategy_, and TAO_Active_Object_Map_Entry::user_id_.
00056 {
00057 TAO_Active_Object_Map_Entry *entry = 0;
00058
00059 int result = this->id_assignment_strategy_->bind_using_system_id (servant,
00060 priority,
00061 entry);
00062 if (result == 0)
00063 ACE_NEW_RETURN (user_id,
00064 PortableServer::ObjectId (entry->user_id_),
00065 -1);
00066 return result;
00067 }
|
|
||||||||||||||||
|
Can be used with any policy. With the SYSTEM_ID policy, user_id is actually system_id. Definition at line 70 of file Active_Object_Map.inl. References TAO_Id_Uniqueness_Strategy::bind_using_user_id(), and id_uniqueness_strategy_. Referenced by TAO::Portable_Server::ServantRetentionStrategyRetain::activate_object_with_id().
00073 {
00074 TAO_Active_Object_Map_Entry *entry = 0;
00075 return this->id_uniqueness_strategy_->bind_using_user_id (servant,
00076 user_id,
00077 priority,
00078 entry);
00079 }
|
|
|
Size of the map.
Definition at line 252 of file Active_Object_Map.inl. References ACE_Map< KEY, VALUE >::current_size(), and user_id_map_. Referenced by TAO::Portable_Server::ServantRetentionStrategyRetain::deactivate_all_objects().
00253 {
00254 return this->user_id_map_->current_size ();
00255 }
|
|
||||||||||||
|
Definition at line 177 of file Active_Object_Map.inl. References TAO_Active_Object_Map_Entry::deactivated_, ACE_Map< KEY, VALUE >::find(), and user_id_map_. Referenced by find_servant_and_system_id_using_user_id().
00179 {
00180 int result = this->user_id_map_->find (user_id,
00181 entry);
00182
00183 if (result == 0)
00184 {
00185 if (entry->deactivated_)
00186 result = -1;
00187 }
00188
00189 return result;
00190 }
|
|
||||||||||||||||||||
|
Can be used with any policy. With the SYSTEM_ID policy, user_id is identical to system_id. Definition at line 193 of file Active_Object_Map.inl. References find_entry_using_user_id(), id_hint_strategy_, TAO_Active_Object_Map_Entry::priority_, TAO_Active_Object_Map_Entry::servant_, and TAO_Id_Hint_Strategy::system_id().
00197 {
00198 TAO_Active_Object_Map_Entry *entry = 0;
00199 int result = this->find_entry_using_user_id (user_id,
00200 entry);
00201
00202 if (result == 0)
00203 {
00204 if (entry->servant_ == 0)
00205 {
00206 result = -1;
00207 }
00208 else
00209 {
00210 result = this->id_hint_strategy_->system_id (system_id,
00211 *entry);
00212 if (result == 0)
00213 {
00214 servant = entry->servant_;
00215 priority = entry->priority_;
00216 }
00217 }
00218 }
00219
00220 return result;
00221 }
|
|
||||||||||||||||||||
|
Can be used with any policy.
Definition at line 165 of file Active_Object_Map.inl. References TAO_Lifespan_Strategy::find_servant_using_system_id_and_user_id(), and lifespan_strategy_.
00169 {
00170 return this->lifespan_strategy_->find_servant_using_system_id_and_user_id (system_id,
00171 user_id,
00172 servant,
00173 entry);
00174 }
|
|
||||||||||||
|
Can be used with any policy. With the SYSTEM_ID policy, user_id is actually system_id. Definition at line 145 of file Active_Object_Map.inl. References TAO_Active_Object_Map_Entry::deactivated_, ACE_Map< KEY, VALUE >::find(), TAO_Active_Object_Map_Entry::servant_, and user_id_map_. Referenced by TAO::Portable_Server::ServantRetentionStrategyRetain::user_id_to_servant().
00147 {
00148 TAO_Active_Object_Map_Entry *entry = 0;
00149 int result = this->user_id_map_->find (user_id,
00150 entry);
00151 if (result == 0)
00152 {
00153 if (entry->deactivated_)
00154 result = -1;
00155 else if (entry->servant_ == 0)
00156 result = -1;
00157 else
00158 servant = entry->servant_;
00159 }
00160
00161 return result;
00162 }
|
|
||||||||||||||||
|
Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy, user_id is actually system_id. Definition at line 135 of file Active_Object_Map.inl. References TAO_Id_Uniqueness_Strategy::find_system_id_using_servant(), and id_uniqueness_strategy_.
00138 {
00139 return this->id_uniqueness_strategy_->find_system_id_using_servant (servant,
00140 system_id,
00141 priority);
00142 }
|
|
||||||||||||||||
|
Can be used with any policy. With the SYSTEM_ID policy, user_id is actually system_id. Definition at line 82 of file Active_Object_Map.inl. References ACE_NEW_RETURN, TAO_Id_Uniqueness_Strategy::bind_using_user_id(), id_hint_strategy_, id_uniqueness_strategy_, TAO_Id_Hint_Strategy::system_id(), and using_active_maps_.
00085 {
00086 if (!this->using_active_maps_)
00087 {
00088 ACE_NEW_RETURN (system_id,
00089 PortableServer::ObjectId (user_id),
00090 -1);
00091
00092 return 0;
00093 }
00094
00095 TAO_Active_Object_Map_Entry *entry = 0;
00096 int result = this->id_uniqueness_strategy_->bind_using_user_id (0,
00097 user_id,
00098 priority,
00099 entry);
00100 if (result == 0)
00101 result = this->id_hint_strategy_->system_id (system_id,
00102 *entry);
00103 return result;
00104 }
|
|
||||||||||||
|
Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy, user_id is actually system_id. Definition at line 127 of file Active_Object_Map.inl. References TAO_Id_Uniqueness_Strategy::find_user_id_using_servant(), and id_uniqueness_strategy_.
00129 {
00130 return this->id_uniqueness_strategy_->find_user_id_using_servant (servant,
00131 user_id);
00132 }
|
|
||||||||||||
|
Can be used with any policy. When the SYSTEM_ID policy is used, the is identical to . Definition at line 238 of file Active_Object_Map.inl. References id_hint_strategy_, and TAO_Id_Hint_Strategy::recover_key().
00240 {
00241 return this->id_hint_strategy_->recover_key (system_id,
00242 user_id);
00243 }
|
|
||||||||||||
|
Can be used with any policy. When the SYSTEM_ID policy is used, the is identical to . Definition at line 224 of file Active_Object_Map.inl. References ACE_NEW_RETURN, id_hint_strategy_, and TAO_Id_Hint_Strategy::recover_key().
00226 {
00227 PortableServer::ObjectId id;
00228 int result = this->id_hint_strategy_->recover_key (system_id,
00229 id);
00230 if (result == 0)
00231 ACE_NEW_RETURN (user_id,
00232 PortableServer::ObjectId (id),
00233 -1);
00234 return 0;
00235 }
|
|
||||||||||||
|
Must be used with UNIQUE_ID policy.
Definition at line 10 of file Active_Object_Map.inl. References id_uniqueness_strategy_, and TAO_Id_Uniqueness_Strategy::is_servant_in_map(). Referenced by TAO::Portable_Server::ServantRetentionStrategyRetain::is_servant_in_map().
00012 {
00013 return this->id_uniqueness_strategy_->is_servant_in_map (servant,
00014 deactivated);
00015 }
|
|
||||||||||||||||||||
|
Can be used with any policy. With the SYSTEM_ID policy, user_id is actually system_id. Definition at line 332 of file Active_Object_Map.cpp. References TAO_Active_Object_Map_Entry::deactivated_, ACE_Map< KEY, VALUE >::find(), TAO_Active_Object_Map_Entry::priority_, TAO_Active_Object_Map_Entry::servant_, and user_id_map_. Referenced by TAO::Portable_Server::ServantRetentionStrategyRetain::is_user_id_in_map().
00336 {
00337 TAO_Active_Object_Map_Entry *entry = 0;
00338 bool result = false;
00339 int const find_result = this->user_id_map_->find (user_id, entry);
00340 if (find_result == 0)
00341 {
00342 if (entry->servant_ == 0)
00343 {
00344 if (entry->priority_ != priority)
00345 priorities_match = false;
00346 }
00347 else
00348 {
00349 result = true;
00350 if (entry->deactivated_)
00351 {
00352 deactivated = true;
00353 }
00354 }
00355 }
00356
00357 return result;
00358 }
|
|
||||||||||||||||||||
|
Can be used with any policy.
Definition at line 107 of file Active_Object_Map.inl. References TAO_Id_Uniqueness_Strategy::bind_using_user_id(), and id_uniqueness_strategy_.
00111 {
00112 ACE_UNUSED_ARG (system_id);
00113
00114 return this->id_uniqueness_strategy_->bind_using_user_id (servant,
00115 user_id,
00116 -1,
00117 entry);
00118 }
|
|
|
Are there any remaining activations of servant in the active object map? Can be used with any policy. Definition at line 246 of file Active_Object_Map.inl. References id_uniqueness_strategy_, and TAO_Id_Uniqueness_Strategy::remaining_activations(). Referenced by TAO::Portable_Server::ServantRetentionStrategyRetain::servant_has_remaining_activations().
00247 {
00248 return this->id_uniqueness_strategy_->remaining_activations (servant);
00249 }
|
|
|
Set the system id size.
Definition at line 26 of file Active_Object_Map.cpp. References ACE_Active_Map_Manager_Key::size(), system_id_size_, TAO_ACTIVE_DEMUX, TAO_DYNAMIC_HASH, and TAO_LINEAR. Referenced by TAO_Active_Object_Map().
00027 {
00028 if (TAO_Active_Object_Map::system_id_size_ == 0)
00029 {
00030 if (creation_parameters.allow_reactivation_of_system_ids_)
00031 {
00032 switch (creation_parameters.object_lookup_strategy_for_system_id_policy_)
00033 {
00034 #if (TAO_HAS_MINIMUM_POA_MAPS == 0)
00035 case TAO_LINEAR:
00036 TAO_Active_Object_Map::system_id_size_ =
00037 sizeof (CORBA::ULong);
00038 break;
00039 #endif /* TAO_HAS_MINIMUM_POA_MAPS == 0 */
00040
00041 case TAO_DYNAMIC_HASH:
00042 default:
00043 TAO_Active_Object_Map::system_id_size_ = sizeof (CORBA::ULong);
00044 break;
00045 }
00046
00047 size_t hint_size = 0;
00048
00049 if (creation_parameters.use_active_hint_in_ids_)
00050 hint_size = ACE_Active_Map_Manager_Key::size ();
00051
00052 TAO_Active_Object_Map::system_id_size_ += hint_size;
00053 }
00054 else
00055 {
00056 switch (creation_parameters.object_lookup_strategy_for_system_id_policy_)
00057 {
00058 #if (TAO_HAS_MINIMUM_POA_MAPS == 0)
00059 case TAO_LINEAR:
00060 TAO_Active_Object_Map::system_id_size_ =
00061 sizeof (CORBA::ULong);
00062 break;
00063
00064 case TAO_DYNAMIC_HASH:
00065 TAO_Active_Object_Map::system_id_size_ =
00066 sizeof (CORBA::ULong);
00067 break;
00068 #endif /* TAO_HAS_MINIMUM_POA_MAPS == 0 */
00069
00070 case TAO_ACTIVE_DEMUX:
00071 default:
00072 TAO_Active_Object_Map::system_id_size_ =
00073 ACE_Active_Map_Manager_Key::size ();
00074 break;
00075 }
00076 }
00077 }
00078 }
|
|
|
Can be used with any policy.
Definition at line 259 of file Active_Object_Map.inl. References system_id_size_. Referenced by TAO_Root_POA::parse_key().
00260 {
00261 return TAO_Active_Object_Map::system_id_size_;
00262 }
|
|
|
Can be used with any policy. With the SYSTEM_ID policy, user_id is actually system_id. Definition at line 121 of file Active_Object_Map.inl. References id_uniqueness_strategy_, and TAO_Id_Uniqueness_Strategy::unbind_using_user_id(). Referenced by TAO::Portable_Server::ServantRetentionStrategyRetain::unbind_using_user_id().
00122 {
00123 return this->id_uniqueness_strategy_->unbind_using_user_id (user_id);
00124 }
|
|
|
Id assignment strategy.
Definition at line 222 of file Active_Object_Map.h. Referenced by bind_using_system_id_returning_system_id(), bind_using_system_id_returning_user_id(), TAO_Active_Object_Map(), and ~TAO_Active_Object_Map(). |
|
|
Id hint strategy.
Definition at line 225 of file Active_Object_Map.h. Referenced by TAO_System_Id_With_Multiple_Id_Strategy::bind_using_system_id(), TAO_System_Id_With_Unique_Id_Strategy::bind_using_system_id(), bind_using_system_id_returning_system_id(), TAO_Multiple_Id_Strategy::bind_using_user_id(), TAO_Unique_Id_Strategy::bind_using_user_id(), find_servant_and_system_id_using_user_id(), TAO_Persistent_Strategy::find_servant_using_system_id_and_user_id(), TAO_Transient_Strategy::find_servant_using_system_id_and_user_id(), TAO_Unique_Id_Strategy::find_system_id_using_servant(), find_system_id_using_user_id(), find_user_id_using_system_id(), TAO_Active_Object_Map(), TAO_Multiple_Id_Strategy::unbind_using_user_id(), TAO_Unique_Id_Strategy::unbind_using_user_id(), and ~TAO_Active_Object_Map(). |
|
|
Id uniqueness strategy.
Definition at line 216 of file Active_Object_Map.h. Referenced by bind_using_user_id(), find_system_id_using_servant(), find_system_id_using_user_id(), find_user_id_using_servant(), is_servant_in_map(), rebind_using_user_id_and_system_id(), remaining_activations(), TAO_Active_Object_Map(), unbind_using_user_id(), and ~TAO_Active_Object_Map(). |
|
|
Lifespan strategy.
Definition at line 219 of file Active_Object_Map.h. Referenced by find_servant_using_system_id_and_user_id(), TAO_Active_Object_Map(), and ~TAO_Active_Object_Map(). |
|
|
Servant map.
Definition at line 213 of file Active_Object_Map.h. Referenced by TAO_System_Id_With_Unique_Id_Strategy::bind_using_system_id(), TAO_Unique_Id_Strategy::bind_using_user_id(), TAO_Unique_Id_Strategy::find_system_id_using_servant(), TAO_Unique_Id_Strategy::find_user_id_using_servant(), TAO_Unique_Id_Strategy::is_servant_in_map(), TAO_Active_Object_Map(), TAO_Unique_Id_Strategy::unbind_using_user_id(), and ~TAO_Active_Object_Map(). |
|
|
Size of the system id produced by the map.
Definition at line 22 of file Active_Object_Map.cpp. Referenced by set_system_id_size(), and system_id_size(). |
|
|
Id map.
Definition at line 210 of file Active_Object_Map.h. Referenced by TAO_System_Id_With_Multiple_Id_Strategy::bind_using_system_id(), TAO_System_Id_With_Unique_Id_Strategy::bind_using_system_id(), bind_using_system_id_returning_system_id(), TAO_Multiple_Id_Strategy::bind_using_user_id(), TAO_Unique_Id_Strategy::bind_using_user_id(), current_size(), TAO::Portable_Server::ServantRetentionStrategyRetain::deactivate_all_objects(), find_entry_using_user_id(), TAO_Persistent_Strategy::find_servant_using_system_id_and_user_id(), TAO_Transient_Strategy::find_servant_using_system_id_and_user_id(), find_servant_using_user_id(), is_user_id_in_map(), TAO_Multiple_Id_Strategy::remaining_activations(), TAO_Active_Object_Map(), TAO_Multiple_Id_Strategy::unbind_using_user_id(), TAO_Unique_Id_Strategy::unbind_using_user_id(), and ~TAO_Active_Object_Map(). |
|
|
Flag to see if we are using active maps in this active object map. Definition at line 229 of file Active_Object_Map.h. Referenced by bind_using_system_id_returning_system_id(), find_system_id_using_user_id(), and TAO_Active_Object_Map(). |
1.3.6