-
Key: CORBA35-173
-
Legacy Issue Number: 4065
-
Status: open
-
Source: Floorboard Software ( Jonathan Biggar)
-
Summary:
The description for Object::get_policy (in the Core, section 4.3.7.1)
states:"The get_policy operation returns the policy object of the specified
type (see Policy Object on page 4-32), which applies to this object. It
returns the effective Policy for the object reference. The effective
Policy is the one that would be used if a request were made."For a policy defined by PI, I don't see anyway for the ORB to implement
this operation correctly, since there isn't any way for it to know how
to properly resolve any client override policies with the policy
information stored in the IOR.When a invocation is actually in process, the ClientRequestInterceptor
can use the information available in the ClientRequestInfo interface to
get the client override and the IOR policy data and do the correct
resolution before continuing with the request. However,
Object::get_policy() needs to do the same type of thing, but it has no
invocation context to do it in.I think the same problem also applies to the implementation of
ClientRequestInfo::get_request_policy().I think we need a new interception point to do this work. Something
like:local interface PolicyInterceptor
{ any determine_effective_policy(in PolicyInfo pi); };
local interface PolicyInfo
{ readonly attribute Object target; readonly attribute Object effective_target; readonly attribute IOP::TaggedProfile effective_profile; IOR::TaggedComponent get_effective_component (in IOP::ComponentId id); IOP_N::TaggedComponentSeq get_effective_components (in IOP::ComponentId id); };
If this turns out to be an acceptable solution, then we should also
change ClientRequestInfo to:local interface ClientRequestInfo : RequestInfo, PolicyInfo
{ ... };
and remove the redundant operations.
-
Reported: CORBA 2.4.1 — Sat, 18 Nov 2000 05:00 GMT
-
Updated: Wed, 6 Dec 2023 23:10 GMT
CORBA35 — How does an ORB implement Object::get_policy for PI defined policies?
- Key: CORBA35-173
- OMG Task Force: CORBA 3.5 RTF