summaryrefslogtreecommitdiff
path: root/TAO/docs/releasenotes/orbcore.html
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/docs/releasenotes/orbcore.html')
-rw-r--r--TAO/docs/releasenotes/orbcore.html246
1 files changed, 0 insertions, 246 deletions
diff --git a/TAO/docs/releasenotes/orbcore.html b/TAO/docs/releasenotes/orbcore.html
deleted file mode 100644
index 7b9bb610870..00000000000
--- a/TAO/docs/releasenotes/orbcore.html
+++ /dev/null
@@ -1,246 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<html>
- <head>
- <title>ORB & ORB Core Status</title>
- </head>
-
- <HR>
- <H3><A NAME="orb"></A>ORB &amp; ORB Core</H3>
- Point of contact: <A HREF="mailto:cleeland@cs.wustl.edu">Chris Cleeland</A>
-
-<P>Current status:
-
- <UL>
- <LI>
- Provides dynamically linked wholesale assignment of ORB
- strategies for communication, concurrency, demultiplexing,
- scheduling, and dispatching using the ACE Service
- Configurator framework.</LI>
-
- <LI>
- Supports several concurrency models out of the box:
- Reactive, Thread-per-Connection, and ORB-per-thread. The
- ORB-per-thread design is optimized for real-time I/O
- subsystems.</LI>
- </UL>
-
- Recently Completed Work:
-
- <UL>
- <li>Placed an optimization in IIOP::Profile that should speed up
- invocations on the client side rather substantially. This was
- done by caching an instance of <code>ACE_INET_Addr</code> in the
- private portion of <code>Profile</code> because the cost of
- constructing one for every invocation (in
- <code>TAO_GIOP_Invocation::start</code>) was simply
- enormous--the construction was something like 100 cycles on
- Solaris. This is all because deep down this ends up calling
- <code>gethostbyname()</code>, which can be very costly. Of
- course, this is platform-dependent, so the improvements may not
- be as great on a different platform.</li>
-
- <li>Got rid of need to have compile in TSS ORB Core
- (<code>-DTAO_HAS_TSS_ORBCORE</code>). This is accomplished by
- having a Resource Factory (<code>TAO_Resource_Factory</code>)
- singleton which the ORB Core consults in order to get pointers
- to resources. The Resource Factory can be configured to return
- pointers from thread-specific storage, or process-global
- storage. By doing this, the ORB Core is shielded from ever
- having to know whether or not its resources are global or
- not.</li>
-
- <li>Made all command-line like options look like the
- standard-professed options, i.e., <b>-ORBxxx</b> or
- <b>-OAxxxx</b>.</li>
-
- <li>Moved ORB option parsing into
- <code>TAO_ORB_Core::init()</code> rather than in
- <code>ORB_init()</code>.</li>
-
- <li>Define <code>_FAR</code> for all cases as an interim fix
- for LynxOS.</li>
-
- <li>Fixed TAO so that the default port of 5001 is defined in
- <code>orb_core.h</code> config header somewhere rather than in
- <code>orbobj.cpp</code>, and use <b>MAXHOSTNAMELEN</b> ACE
- constant for the hostname buffer.</li>
-
- <li>Eliminated need for <code>CORBA::Object</code> to keep a
- pointer to its orb sitting around anywhere.</li>
-
- <LI>Tested <code>CORBA_ORB::shutdown()</code> as a manner in
- which a thread of control can request that
- <code>CORBA_ORB::run()</code> should return and no longer
- service requests. It only honors a
- <em>wait_for_completion</em> argument of <b>FALSE</b> right
- now because we haven't fully explored the issues which
- surround doing all the completion.</li>
-
- <li>Fixed bugs reported by Steven Wohlever, David Miron,
- Manojkumar Acharya.</li>
-
- <li>Created a brief section in <a
- href="../../TAO-Install.html"><code>$TAO_ROOT/TAO-Install.html</code></a>
- that <em>briefly</em> documents installation on Unix
- platforms. There is also a brief section which documents
- issues that apply across ALL platforms, such as the fact that
- TAO and its application will likely not work well if your ACE
- is linked through Orbix, VisiBroker, or another ORB. <a
- href="../../ChangeLog">ChangeLog</a> discovery attribution for
- this should go to <em>Steve Wohlever
- &lt;wohlever@mitre.org&gt;</em>.</li>
-
- <LI>Implemented <code>CORBA_ORB::shutdown()</code> as a manner
- in which a thread of control can request that
- <code>CORBA_ORB::run()</code> should return and no longer
- service requests.</li>
-
- <LI>Validated movement of Strategy Connector into
- ORB&nbsp;Core.</LI>
-
- <li>Debated details of <code>Svc_Handler</code> modifications
- with Irfan.</li>
-
- <li>Tested and commited <code>Connector::connect_n</code> changes
- to ACE</code>.</li>
-
- <li>ACE & TAO compiling cleanly using Sun's CC on Solaris and
- G++ on Linux. Also, the ACE tests run properly.</li>
-
- <li>Use <code>truss</code> to verify for <a
- href="mailto:PAUL.G.WEHLAGE@cdev.com">Paul Wehlage</a> that
- TAO really uses <code>select</code> vs. <code>recv</code> for
- <b>-R</b> vs. <b>-T</b>.</li>
-
- <li>Renamed <code>boa.*</code> to <code>poa.*</code>.</li>
-
- <LI>Renamed following files:&nbsp;Orb_Core.*&nbsp;->orb_core.*
- &amp;&nbsp;orbobj.* -> corba_orb.*.</LI>
-
- <LI>The lock used in <code>giop.cpp:626</code> originally
- appeared in the IIOP-1.4 code base. Its purpose was to
- protect access to the <code>fwd_profile</code> data member.
- The original features are available, but they are currently
- not used because none of our concurrency models present a
- thread-unsafe condition. The <a
- href="../../ChangeLog">ChangeLog</a> presents more details on
- the subject.</li>
-
- <li>Fixed problems seen by <a
- href="mailto:brian.r.mendel@boeing.com">Brian Mendel</a> of
- Boeing where the Cubit server application was crashing in
- <code>TAO_OA_Connection_Handler::handle_message</code> when it
- was trying to call <code>CORBA::POA::handle_request</code>
- through a NULL <code>root_poa</code> pointer. The NULL
- pointer resulted from the inadvertent use of the
- Thread-per-Connection concurrency model, which is currently
- incompatible with the ORB-per-thread model. It was not caught
- because the change is normally done in configuration files
- parsed by the Service Configurator, and VxWorks requires
- special code in that area which was not tested until Boeing
- got hold of the code.</li>
-
- <li>Clean up build under g++. All 'function used before
- declared inline' warnings have been eliminated. Also, all
- other warnings (except for one that is nearly unavoidable)
- have been eliminated.
- </li>
-
- <LI>Removed BOA and ROA names from the ORB.</LI>
-
- <LI>Changed <code>CORBA_ORB::open()</code> to return an error
- status (first cut at this already there--needs to be checked
- out).</LI>
-
- <LI>Added README file to multiCubit test.</li>
- </UL>
-
- Ongoing Work:
-
- <UL>
- <LI>Verify ACE & TAO on Linux.</LI>
-
- <LI>Use Purify to eliminate straggling problems.</LI>
-
- </UL>
-
- Current Work:
-
- <UL>
- <LI>Clean up the internals and analyze for performance bottlenecks using Quantify.</LI>
-
- <LI>
- <p>
- Verify that, in the ORB-per-thread concurrency model, it's
- possible to have a factory in each thread that creates a
- client and returns an object reference to that client
- within that thread. This is different from the model that
- Sumedh originally had where the factory was trying to turn
- out a client in a separate thread/ORB combination.</p>
- <p>
- There is no application which attempts this at the moment,
- so both a client and a server will need to be
- manufactured. Using existing Cubit-like examples (that
- poor app is so weary) should reduce development time to a
- couple of hours.</p>
- <p>
- The real strategy/solution is to make
- <code>CORBA::Object</code> not keep a pointer to its orb
- sitting around anywhere. It should only get it when it
- needs it. This should not be difficult to change.</p>
- </LI>
- </UL>
-
- Critical Work:
-
- <UL>
- <LI>Add pre-cached connection on client side. Clients will
- pass in a comma-separated list of <em>host:port</em>
- destinations using the <code>CORBA::ORB_init()</code>
- interface.</LI>
-
- <LI>Support new concurrency models, e.g.,
- Thread-per-Request.</LI>
-
- </UL>
-
- Future work:
- <UL>
- <li>Make argument parsing with the orb consume the arguments it parses.</li>
-
- <li>Remove <code>_FAR</code> from all code.</li>
-
- <li>Update ORB Patterns paper to reflect the latest TAO has to
- offer. Specifically, sections on the Abstract Factory and
- Concurrency strategies need to be updated, and the entire
- paper needs to be reviewed for accuracy w.r.t the current
- TAO.</li>
-
- <li>Make the section in <a
- href="../../TAO-Install.html"><code>$TAO_ROOT/TAO-Install.html</code></a>
- that documents installation on Unix platforms more complete.
- </li>
-
- <li>Improve the <code>Service Configurator</code> service
- entry faking on VxWorks.</li>
-
- <LI>Integrate the <A HREF="#poa">POA</A> implementation.</LI>
-
- <LI>Add support for <TT>resolve_initial_references</TT> using
- ACE support for UDP broadcast.</LI>
-
- <LI>Assist in porting higher level services (e.g., <A
- HREF="#eventchannel">Event Channel</A>) to TAO.</LI>
-
- <li>Compile and verify ACE and TAO on Linux using the Kuck and
- Associates, Inc. (KAI) compiler tools.</li>
-
- <LI> Remove the CORBA_SEQUENCE structure which is not a true C++
- mapping of sequences. This will affect the code that uses
- OctetSequences and TC_opaque. </LI>
-
- </UL>
-
- </body>
-</html>