Summary: | Limitations in the service context handling | ||
---|---|---|---|
Product: | TAO | Reporter: | Johnny Willemsen <jwillemsen> |
Component: | ORB | Assignee: | DOC Center Support List (internal) <tao-support> |
Status: | NEW --- | ||
Severity: | normal | CC: | sm |
Priority: | P3 | ||
Version: | 1.6.8 | ||
Hardware: | All | ||
OS: | Windows NT | ||
Bug Depends on: | 3357 | ||
Bug Blocks: |
Description
Johnny Willemsen
2009-03-10 08:53:42 CDT
Isn't the standard way to put the required service context into a slot in request scope context PICurrent ? not sure if we still have PI at that place in the invocation path. this are orb internal service contexts I don't think PI will work here. The ZIOP policies are more like the codeset context, the ORB has to transfer them. The ORB core now has a hardcoded hook for codeset, but this should be a Service_Context_Generator, which can be registered into a new registry, the registered objects are then each time called from TAO_Transport::generate_request_header (and probably also from generate_reply_header). The generators can then add service contexts to the request for any policies they are handling. Also in TAO_RT_Protocols_Hooks::rt_service_context we have code to add service contexts, but then just for rtcorba mine RT CORBA service context handling is a hack. In fact, as the comments say, it's a "Mega Hack". It has particular requirements that apparently make it unsuitable for PI - as do CodeSets. That context must be sent on the first use of a transport only - that's not really possible with PI. It sounds like ZIOP is simply a per request service context based on effective policies like the FT service contexts. Why is that not possible to do the proper portable way with PI rather than adding more hacks ? part can be done in a generic way, but when sending the reply from server to client, after marshaling all data we have to know the effective policy, you FT hint gave me some ideas, addd 3357 pool |