Issue 141: Practical problem with DII using Request Pseudo Object (cxx_revision) Source: (, ) Nature: Uncategorized Severity: Summary: Summary: If I want to use the DII to send out multiple simultaneous requests, I don"t see a practical way to associate any client specific context that is C++ compliant to those requests. Resolution: Revised Text: Actions taken: October 1, 1996: Received issue Discussion: deferred in June 2011 to the next RTF End of Annotations:===== >From jon@sems.com Mon Sep 30 18:41:30 1996 Received: from ns.sems.com by amethyst.omg.org.omg.org (5.4R2.01/1.34) id AA04340; Mon, 30 Sep 1996 18:41:30 -0400 Received: from vaccine-bb.netlabs.com (vaccine-bb.sems.com) by proxy.netlabs.com (4.1/SMI-4.1) id AA02982; Mon, 30 Sep 96 14:34:12 PDT Received: from clamp.netlabs.com by vaccine-bb.netlabs.com (4.1/SMI-4.1) id AA24041; Mon, 30 Sep 96 15:39:57 PDT Received: from clamp by clamp.netlabs.com (SMI-8.6/SMI-SVR4) id PAA23651; Mon, 30 Sep 1996 15:39:56 -0700 Sender: jon@sems.com Message-Id: <32504C3B.1137@sems.com> Date: Mon, 30 Sep 1996 15:39:55 -0700 From: Jonathan Biggar Organization: Seagate Enterprise Management Software X-Mailer: Mozilla 3.0 (X11; I; SunOS 5.5.1 sun4m) Mime-Version: 1.0 To: cxx_revision@omg.org, issues@omg.org Subject: Practical problem with DII using Request Pseudo Object Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit If I want to use the DII to send out multiple simultaneous requests, I don't see any practical way to associate any client specific context to those requests that is compliant to the C++ binding. Since CORBA::Request_ptr may not be a real pointer, I can't rely on using pointer equality (or hashing) to look up the client side context. There is also no user visible request id or number. This problem could be solved in three ways: 1. Allow operator==() and operator!=() for CORBA::Request_ptr. For efficiency, there should also be a hash() member to support hash table lookup of requests. 2. Add a CORBA::ULong Request::id() member that returns a unique id for the request. 3. Add void *Request::client_context() and void Request::client_context(void *). This would allow the request to contain any client defined context. My preference would be solution 3, because it would be most efficient, although I could live with any of these. Received: by amethyst.omg.org.omg.org (5.4R2.01/1.34) id AA14143; Tue, 1 Oct 1996 12:08:29 -0400 Date: Tue, 1 Oct 1996 12:08:29 -0400 From: geoff (Geoffrey Speare) Message-Id: <9610011608.AA14143@amethyst.omg.org.omg.org> To: jon@sems.com Cc: cxx_revision@omg.org, issues@omg.org In-Reply-To: Jonathan Biggar's message of Mon, 30 Sep 1996 15:39:55 -0700 <32504C3B.1137@sems.com> Subject: [Issue 141] Practical problem with DII using Request Pseudo >From geoff Tue Oct 1 12:08:29 1996 Object > If I want to use the DII to send out multiple simultaneous requests, I > don't see any practical way to associate any client specific context > to those requests that is compliant to the C++ binding. > Since CORBA::Request_ptr may not be a real pointer, I can't rely > on using pointer equality (or hashing) to look up the client side > context. There is also no user visible request id or number. > This problem could be solved in three ways: > 1. Allow operator==() and operator!=() for CORBA::Request_ptr. For > efficiency, there should also be a hash() member to support hash > table lookup of requests. > 2. Add a CORBA::ULong Request::id() member that returns a unique > id for the request. > 3. Add void *Request::client_context() and void > Request::client_context(void *). > This would allow the request to contain any client defined > context. > My preference would be solution 3, because it would be most efficient, > although > I could live with any of these.