Bug 145

Summary: Server_Request objects in TAO are too "magical"
Product: TAO Reporter: Ossama Othman <ossama.othman>
Component: ORBAssignee: Jeff Parsons <parsons>
Status: RESOLVED FIXED    
Severity: enhancement    
Priority: P4    
Version: 1.0   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 621    

Description Ossama Othman 1999-07-26 18:03:12 CDT
Server_Request objects in TAO are magical, the _duplicate() method returns 0 and
release() does nothing. The problem starts because Server_Request is allocated
from the stack (to speed up things), hence reference counting would be useless.
Adding a clone() method will work better, but the Server_Request holds pointers
to several positions in the CDR stream, we could clone the CDR stream, but a
normal Server_Request does not own it.... In our opinion (Carlos and Irfan) we
need not worry about this until we find a use case for it.
Comment 1 Carlos O'Ryan 1999-08-03 12:08:59 CDT
This is a valid enhacement request, i'm marking it as accepted but their
implementation is deferred
Comment 2 Carlos O'Ryan 2000-02-21 18:44:59 CST
I thought about this problem a bit.  The real issue is that there is no
reason to use Server_Request to communicate between the low level components
in the ORB (Pluggable Protocols + GIOP) to the POA.
We could use a TAO specific data structure to pass whatever information is
required, CORBA::ServerRequest is only needed in the DSI path, where it could
be allocated by the PortableServer::DynamicImplementation, just before calling
the _dispatch() method.
Comment 3 Carlos O'Ryan 2000-11-09 11:29:52 CST
I believe that Jeff already solved this problem, if that is the case he should
mark it as solved.
Comment 4 Jeff Parsons 2000-11-09 12:04:49 CST
Server_Request is no longer used for all requests, it is now reserved for
DSI requests only, and has been moved to the DynamicInterface library. Regular
server requests in TAO are now handled by a new class TAO_ServerRequest, which
contains no DSI functionality.