#include <PG_ObjectGroupManager.h>
Collaboration diagram for TAO_PG_ObjectGroupManager:
Public Methods | |
TAO_PG_ObjectGroupManager (void) | |
Constructor. More... | |
~TAO_PG_ObjectGroupManager (void) | |
Destructor. More... | |
PortableGroup::ObjectGroup_ptr | create_object_group (CORBA::ULong group_id, const PortableServer::ObjectId &oid, const char *type_id, const PortableGroup::Criteria &the_criteria ACE_ENV_ARG_DECL) |
void | destroy_object_group (const PortableServer::ObjectId &oid ACE_ENV_ARG_DECL) |
PortableGroup::Properties * | get_properties (PortableGroup::ObjectGroup_ptr object_group ACE_ENV_ARG_DECL) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
Return the properties set when the object group was created, and the dynamic properties that may have overridden them. More... | |
char * | type_id (PortableGroup::ObjectGroup_ptr object_group ACE_ENV_ARG_DECL) |
Return the type_id for the given object group. More... | |
PortableGroup::ObjectGroup_ptr | object_group (const PortableServer::ObjectId &oid) |
void | poa (PortableServer::POA_ptr p) |
Set the POA to use when converting object group references to ObjectIds. More... | |
PortableGroup::ObjectGroupManager methods | |
virtual PortableGroup::ObjectGroup_ptr | create_member (PortableGroup::ObjectGroup_ptr object_group, const PortableGroup::Location &the_location, const char *type_id, const PortableGroup::Criteria &the_criteria ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberAlreadyPresent, PortableGroup::NoFactory, PortableGroup::ObjectNotCreated, PortableGroup::InvalidCriteria, PortableGroup::CannotMeetCriteria) |
Create a member and add it to the given object group. More... | |
virtual PortableGroup::ObjectGroup_ptr | add_member (PortableGroup::ObjectGroup_ptr object_group, const PortableGroup::Location &the_location, CORBA::Object_ptr member ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberAlreadyPresent, PortableGroup::ObjectNotAdded) |
Add an existing object to the ObjectGroup. More... | |
virtual PortableGroup::ObjectGroup_ptr | remove_member (PortableGroup::ObjectGroup_ptr object_group, const PortableGroup::Location &the_location ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberNotFound) |
Remove an object at a specific location from the given ObjectGroup. More... | |
virtual PortableGroup::Locations * | locations_of_members (PortableGroup::ObjectGroup_ptr object_group ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
Return the locations of the members in the given ObjectGroup. More... | |
virtual PortableGroup::ObjectGroupId | get_object_group_id (PortableGroup::ObjectGroup_ptr object_group ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
Return the ObjectGroupId for the given ObjectGroup.
| |
virtual PortableGroup::ObjectGroup_ptr | get_object_group_ref (PortableGroup::ObjectGroup_ptr object_group ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
| |
virtual CORBA::Object_ptr | get_member_ref (PortableGroup::ObjectGroup_ptr object_group, const PortableGroup::Location &loc ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberNotFound) |
Return the reference corresponding to the member of a given ObjectGroup at the given location. More... | |
Protected Methods | |
TAO_PG_ObjectGroup_Map_Entry * | get_group_entry (PortableGroup::ObjectGroup_ptr object_group ACE_ENV_ARG_DECL) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
Obtain the ObjectGroup hash map entry corresponding to the given ObjectGroup reference. More... | |
CORBA::Boolean | member_already_present (const TAO_PG_ObjectGroup_Array &groups, TAO_PG_ObjectGroup_Map_Entry *group_entry) |
A member is actually represented by the object group to which it belongs. More... | |
CORBA::Boolean | valid_type_id (PortableGroup::ObjectGroup_ptr object_group, TAO_PG_ObjectGroup_Map_Entry *group_entry, CORBA::Object_ptr member ACE_ENV_ARG_DECL) |
Private Attributes | |
PortableServer::POA_var | poa_ |
Reference to the POA that created the object group references. More... | |
TAO_PG_ObjectGroup_Map | object_group_map_ |
The underlying table that contains all object group information. More... | |
TAO_PG_Location_Map | location_map_ |
Map that contains list of all members at a given location, in addition to the load monitor at that location. More... | |
TAO_SYNCH_MUTEX | lock_ |
Lock used to synchronize access to the underlying tables. More... |
The ObjectGroupManager provides the interface necessary to facilitate application-controlled object group membership.
|
Constructor.
|
|
Destructor.
|
|
Add an existing object to the ObjectGroup.
|
|
Create a member and add it to the given object group.
|
|
|
|
|
|
Obtain the ObjectGroup hash map entry corresponding to the given ObjectGroup reference.
|
|
Return the reference corresponding to the member of a given ObjectGroup at the given location.
|
|
Return the ObjectGroupId for the given ObjectGroup.
|
|
|
|
Return the properties set when the object group was created, and the dynamic properties that may have overridden them.
|
|
Return the locations of the members in the given ObjectGroup.
|
|
A member is actually represented by the object group to which it belongs. In this implementation, a pointer to a object group hash map entry is associated with a given a location. |
|
|
|
Set the POA to use when converting object group references to ObjectIds.
|
|
Remove an object at a specific location from the given ObjectGroup. Deletion of application created objects must be deleted by the application. Objects created by the infrastructure (load balancer) will be deleted by the infrastructure. |
|
Return the type_id for the given object group.
|
|
|
|
Map that contains list of all members at a given location, in addition to the load monitor at that location.
|
|
Lock used to synchronize access to the underlying tables.
|
|
The underlying table that contains all object group information.
|
|
Reference to the POA that created the object group references.
|