Previous Table of Contents Next


16.6.4 Use of the Location Policy and the Endpoint ID


   The algorithm above will allow a client ORB to successfully locate a server ORB, if possible, so that operations can be invoked using DCE-CIOP. But unnecessary locate RPCs may be performed, and invoke RPCs may be performed when locate RPCs would be more efficient. The optional location policy and endpoint ID position components can be used by the client ORB, if present in the IOR profile, to optimize this algorithm.

   16.6.4.1 Current location policy

   The client ORB can decide whether to perform a locate RPC or an invoke RPC in step 3 based on the location policy of the current IOR profile. If the current profile has a TAG_LOCATION_POLICY component with a value of LOCATE_NEVER, the client should perform an invoke RPC. Otherwise, it should perform a locate RPC.

   16.6.4.2 Original location policy

   The client ORB can use the location policy of the original IOR profile as follows to determine whether it is necessary to perform the location algorithm for a particular invocation:

   16.6.4.3 Original Endpoint ID

   If a component with TAG_ENDPOINT_ID_POSITION is present in the original IOR profile, the client ORB can reuse a binding handle that was successfully used to perform an operation on another object with the same endpoint ID. The client only needs to perform the location algorithm once per endpoint.

   An endpoint ID position component should never be combined in the same profile with a location policy of LOCATE_OPERATION or LOCATE_ALWAYS.