A class that strategizes the request dispatching procedure. More...
#include <PortableGroup_Request_Dispatcher.h>
Public Member Functions | |
virtual | ~PortableGroup_Request_Dispatcher (void) |
Destructor. | |
virtual void | dispatch (TAO_ORB_Core *orb_core, TAO_ServerRequest &request, CORBA::Object_out forward_to) |
Private Attributes | |
TAO_Portable_Group_Map | group_map_ |
Hash map containing the GroupId->ObjectKey mappings. | |
TAO_PortableGroup_Acceptor_Registry | acceptor_registry_ |
Registry for all of the group (multicast) acceptors. | |
Friends | |
class | TAO_GOA |
A class that strategizes the request dispatching procedure.
Definition at line 38 of file PortableGroup_Request_Dispatcher.h.
PortableGroup_Request_Dispatcher::~PortableGroup_Request_Dispatcher | ( | void | ) | [virtual] |
void PortableGroup_Request_Dispatcher::dispatch | ( | TAO_ORB_Core * | orb_core, | |
TAO_ServerRequest & | request, | |||
CORBA::Object_out | forward_to | |||
) | [virtual] |
Dispatch a request.
Reimplemented from TAO_Request_Dispatcher.
Definition at line 21 of file PortableGroup_Request_Dispatcher.cpp.
{ // Check if the request contains a tagged profile if (request.profile ().discriminator () == GIOP::ProfileAddr) { // Get the IOP::Tagged profile. const IOP::TaggedProfile &tagged_profile = request.profile ().tagged_profile (); PortableGroup::TagGroupTaggedComponent group; // Extract a Group ID from the profile if it exists. int result = TAO_UIPMC_Profile::extract_group_component (tagged_profile, group); if (result == 0) { // Got a group. Dispatch based on the group ID this->group_map_.dispatch (&group, orb_core, request, forward_to); return; } // Else, fall through and dispatch based on object key like normal. } // Dispatch based on object key. orb_core->adapter_registry ().dispatch (request.object_key (), request, forward_to); }
friend class TAO_GOA [friend] |
Definition at line 41 of file PortableGroup_Request_Dispatcher.h.
Registry for all of the group (multicast) acceptors.
Definition at line 61 of file PortableGroup_Request_Dispatcher.h.
Hash map containing the GroupId->ObjectKey mappings.
Definition at line 58 of file PortableGroup_Request_Dispatcher.h.