Bug 145 - Server_Request objects in TAO are too "magical"
Summary: Server_Request objects in TAO are too "magical"
Status: RESOLVED FIXED
Alias: None
Product: TAO
Classification: Unclassified
Component: ORB (show other bugs)
Version: 1.0
Hardware: All All
: P4 enhancement
Assignee: Jeff Parsons
URL:
Depends on:
Blocks: 621
  Show dependency tree
 
Reported: 1999-07-26 18:03 CDT by Ossama Othman
Modified: 2000-11-09 12:04 CST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.