summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a124
-rw-r--r--TAO/docs/Options.html55
-rw-r--r--TAO/docs/index.html2
-rw-r--r--TAO/docs/minimumTAO.html473
-rw-r--r--TAO/docs/pluggable_protocols/index.html96
-rw-r--r--TAO/examples/OBV/Typed_Events/README29
-rw-r--r--TAO/performance-tests/RTCorba/Oneways/Reliable/client.cpp14
-rw-r--r--TAO/tao/Exception.h1
8 files changed, 184 insertions, 610 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index 1a669f605c0..0ab452f7f55 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,11 +1,24 @@
+Wed Nov 21 07:01:04 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * performance-tests/RTCorba/Oneways/Reliable/client.cpp (main):
+ Added "_LEVEL" to the enumerated literals to avoid clashes with
+ SunC++ 4.2. Thanks to Steve Osselton
+ <steve@prismtechnologies.com> for reporting the bug and
+ suggesting the fix.
+
+Fri Nov 16 10:39:52 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * docs: Moved minimumTAO.html from $TAO_ROOT/docs/ to
+ $ACE_ROOT/docs.
+
Tue Nov 20 11:58:39 2001 Ossama Othman <ossama@uci.edu>
* configure.in:
Removed this file from the distribution. Some folks insist on
- attempting to build ACE/TAO with the configure script and
- reporting problems despite the fact we've explicitly disabled
- it.
+ attempting to build ACE/TAO with the configure script and
+ reporting problems despite the fact we've explicitly disabled
+ it.
Tue Nov 20 11:44:50 2001 Carlos O'Ryan <coryan@uci.edu>
@@ -35,49 +48,48 @@ Mon Nov 19 21:16:35 2001 Carlos O'Ryan <coryan@uci.edu>
Mon Nov 19 20:19:48 2001 Jaiganesh Balasubramanian <jai@balar.ece.uci.edu>
- * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h:
- * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i:
- * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp:
- Modified the TAO_ECG_Mcast_EH class to handle large numbers of
- multicast subscriptions. Because most OSes impose a limit on
- the number of subscription that a single socket supports, we
- needed to keep a collection of sockets.
- Furthermore, we need to track on what socket each multicast
- group is subscribed, so a map from multicast groups to sockets
- is also maintained.
- Using this new map we can optimize the algorithm used to remove
- multicast group subscriptions, previous versions of this class
- simply closed the socket, but that has been reported as too
- expensive by Mark Hyett <mhyett@std.saic.com>. With this new
- change the class only unsubscribes from the multicast groups no
- longer needed, without closing the socket.
- The changes revealed some bugs in ACE_SOCK_Dgram_Mcast, the bug
- was fixed and the changes are documented in the ACE ChangeLog
- file.
-
- * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h:
- * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i:
- * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp:
- Moved the class TAO_ECG_Mcast_EH to its own file.
- (See ECG_Mcast_EH.h)
-
- * orbsvcs/tests/EC_Mcast/EC_Mcast.h:
- * orbsvcs/examples/RtEC/MCast/MCast.cpp:
- Add new header file for TAO_ECG_Mcast_EH
-
- * orbsvcs/tests/EC_Mcast/Makefile:
- * orbsvcs/examples/RtEC/MCast/Makefile:
- Updated dependencies
-
- * orbsvcs/tests/EC_Mcast/sample.cfg:
- Changed this file so users can test the support for large
- numbers of multicast groups.
-
- * orbsvcs/orbsvcs/Makefile.RTEvent:
- * orbsvcs/orbsvcs/RTEvent.bor:
- * orbsvcs/orbsvcs/Event/Makefile.am:
- Added a new file Event/TAO_ECG_Mcast_EH.cpp. Update
- dependencies for the GNUMake makefile.
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp:
+ Modified the TAO_ECG_Mcast_EH class to handle large numbers of
+ multicast subscriptions. Because most OSes impose a limit on
+ the number of subscription that a single socket supports, we
+ needed to keep a collection of sockets. Furthermore, we need to
+ track on what socket each multicast group is subscribed, so a
+ map from multicast groups to sockets is also maintained.
+
+ Using this new map we can optimize the algorithm used to remove
+ multicast group subscriptions, previous versions of this class
+ simply closed the socket, but that has been reported as too
+ expensive by Mark Hyett <mhyett@std.saic.com>. With this new
+ change the class only unsubscribes from the multicast groups no
+ longer needed, without closing the socket. The changes revealed
+ some bugs in ACE_SOCK_Dgram_Mcast, the bug was fixed and the
+ changes are documented in the ACE ChangeLog file.
+
+ * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp:
+ Moved the class TAO_ECG_Mcast_EH to its own file.
+ (See ECG_Mcast_EH.h)
+
+ * orbsvcs/tests/EC_Mcast/EC_Mcast.h:
+ * orbsvcs/examples/RtEC/MCast/MCast.cpp:
+ Add new header file for TAO_ECG_Mcast_EH
+
+ * orbsvcs/tests/EC_Mcast/Makefile:
+ * orbsvcs/examples/RtEC/MCast/Makefile:
+ Updated dependencies
+
+ * orbsvcs/tests/EC_Mcast/sample.cfg:
+ Changed this file so users can test the support for large
+ numbers of multicast groups.
+
+ * orbsvcs/orbsvcs/Makefile.RTEvent:
+ * orbsvcs/orbsvcs/RTEvent.bor:
+ * orbsvcs/orbsvcs/Event/Makefile.am:
+ Added a new file Event/TAO_ECG_Mcast_EH.cpp. Update
+ dependencies for the GNUMake makefile.
Mon Nov 19 02:06:53 2001 Krishnakumar B <kitty@cs.wustl.edu>
@@ -1614,8 +1626,27 @@ Wed Sep 26 15:30:31 2001 Irfan Pyarali <irfan@cs.wustl.edu>
Tue Sep 25 23:45:30 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+ * performance-tests/RTCorba/Thread_Pool/client.cpp:
+
+ - Include tests/RTCORBA/Linear_Priority/readers.cpp to reuse
+ common file parsing code. This way we can removed the
+ get_rates() function.
+
+<<<<<<< ChangeLog
+ - Invocation priorities can either be automatically
+ calculated (as before) or can be explicitly specified
+ through the <invocation_priorities_file> option.
+
+ * performance-tests/RTCorba/Thread_Pool/server.cpp:
+=======
* performance-tests/RTCorba/Thread_Pool/client.cpp:
+>>>>>>> 1.4454
+<<<<<<< ChangeLog
+ - Include tests/RTCORBA/Linear_Priority/readers.cpp to reuse
+ common file parsing code. Auto lane priorities and bands
+ calculations were moved to readers.cpp.
+=======
- Include tests/RTCORBA/Linear_Priority/readers.cpp to reuse
common file parsing code. This way we can removed the
get_rates() function.
@@ -1629,6 +1660,7 @@ Tue Sep 25 23:45:30 2001 Irfan Pyarali <irfan@cs.wustl.edu>
- Include tests/RTCORBA/Linear_Priority/readers.cpp to reuse
common file parsing code. Auto lane priorities and bands
calculations were moved to readers.cpp.
+>>>>>>> 1.4454
- Lane priorities and bands can either be automatically
calculated (as before) or can be explicitly specified
diff --git a/TAO/docs/Options.html b/TAO/docs/Options.html
index 3e9bde9d8de..010ac9f4cf5 100644
--- a/TAO/docs/Options.html
+++ b/TAO/docs/Options.html
@@ -14,28 +14,41 @@ bgcolor="#ffffff">
<H3 ALIGN=CENTER>Options for TAO Components</H3>
<H3>Overview</H3>
-<blockquote>
-<p>There are two major mechanisms to configure the behaviors of TAO.
-Behaviors that are global to a process, such as those of ORB Core or
-Object Adapters, are configrued through environment variables or
-command line flags.</p>
-
-<p>Another mechanism to configure TAO is to plug in internal
-implementations implementing different behaviors that an ORB uses.
-Plugins are loading into an ORB by providing a <code>svc.conf</code>
-file where users can specify the plugins to be loaded into the ORB and
-options that are specific to each plugin. In other words, if your
-program use-cases have particular characteristics, you can use the
-<code>svc.conf</code> file to customize your programs and use various
-optimization provided by TAO. A <code>svc.conf</code> file, however,
-is not required to run TAO programs.</p>
-
-<P><EM>Programmer's Note:</EM> the internal structure for options is
-the traditional <CODE>argc</CODE>/<CODE>argv</CODE> vector of strings
-style popularized by C and Unix. By convention, an initialization
-method will consume, <EM>i.e.</EM>, remove from the vector, any
-options that it recognizes.</P> </blockquote>
+TAO is an extremely flexible ORB that can be configured to meet a wide
+range of application requirements. There are two primary mechanisms
+for configuring TAO's behaviors:
+
+<UL>
+
+<LI> Configurations that are global to an ORB, such as
+ a Name Service IOR or the default stringified IOR
+ format an ORB generates, are configured via environment
+ variables or command-line option flags passed to the
+ <code>ORB_init()</code> call. The internal structure for
+ command-line options is the traditional
+ <CODE>argc</CODE>/<CODE>argv</CODE> vector of strings style
+ popularized by C/C++ and Unix. By convention,
+ <code>ORB_init()</code> will consume any options that it recognizes,
+ removing them from <CODE>argv</CODE>, whereas unrecognized options
+ will not be removed. <P>
+
+<LI>Users can also modify the internal behaviors of an ORB by
+ dynamically linking <EM>ORB plug-ins</EM>, such as client/server connection
+ strategies, via a <code>svc.conf</code> file. These ORB plug-ins
+ can be fine-tuned by specifying their options in the
+ <code>svc.conf</code> file.
+ TAO provides several default plug-ins to deploy resource management
+ strategies, client/server strategies, and communication protocols
+ that can be further customized via the
+ <code>svc.conf</code> file options described in this page. Advanced
+ users can also develop their own plug-ins to customize TAO.
+ A <code>svc.conf</code> file, however, is not required to run TAO
+ programs since TAO provides a set of built-in strategies configured for
+ use with common use cases. Many of the default configuratiions for
+ these built-in strategies can also be customized when TAO is
+ compiled.<p>
+</UL>
<HR><P>
<H3><A NAME="ev">Environment Variables</A></H3>
diff --git a/TAO/docs/index.html b/TAO/docs/index.html
index 789e994a02a..ed1b5ea6ac7 100644
--- a/TAO/docs/index.html
+++ b/TAO/docs/index.html
@@ -38,7 +38,7 @@ HREF="http://www.omg.org/library/c2indx.html">CORBA</a> Documentation</h3>
<td><font SIZE="+1"><dl>
<dt> <img alt="o" src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> TAO <a href="rtcorba/index.html">Real-Time CORBA</a> </dt><P>
- <dt> <img alt="o" src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> ACE+TAO <a HREF="minimumTAO.html">Subsetting</a></dt><p>
+ <dt> <img alt="o" src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> ACE+TAO <a HREF="../../docs/ACE-subsets.html">Subsetting</a></dt><p>
<dt> <img alt="o" src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> TAO <a href="exceptions.html">Exception Handling</a></dt><p>
<dt> <img alt="o" src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> <a HREF="Tags.html">Tags and Magic Numbers</a> </dt><P>
<dt> <img alt="o" src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> <a HREF="pluggable_protocols/index.html">Writing Pluggable Protocols</a> </dt><P>
diff --git a/TAO/docs/minimumTAO.html b/TAO/docs/minimumTAO.html
deleted file mode 100644
index e2a33b88125..00000000000
--- a/TAO/docs/minimumTAO.html
+++ /dev/null
@@ -1,473 +0,0 @@
-<!-- $Id$ -->
-
-<html>
- <head>
- <title>Minimum TAO</title>
- <link rev=made href="mailto:tao-users@cs.wustl.edu">
- </head>
-
-<body text = "#000000"
- link="#000fff"
- vlink="#ff0f0f"
- bgcolor="#ffffff">
-
-<hr>
-<p>
-
-<strong>Minimum TAO</strong>
-<p>
-
-In addition to our work on <A
-HREF="../../docs/ACE-subsets.html">ACE
-subsetting</A>, we have also been reducing the footprint of TAO. We
-are pursuing two complementary strategies to reduce TAO's footprint:
-
-<OL>
-
-<LI> <B><EM>Implicit subsetting</EM></B>, e.g., by reducing
- dependencies in the TAO library so that programs need not link
- unused TAO components. <P>
-
-<LI> <B><EM>Explicit subsetting</EM></B>, e.g., by supporting the <a
-href="http://www.omg.org/cgi-bin/doc?orbos/98-08-04.pdf"><em>minimumCORBA
-</em></a> specification to <a href =
-"http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</a>. The <em>
-minimumCORBA </em> specification removes the following features from
-the <a href
-="http://www.omg.org/technology/documents/formal/">CORBA</a>
-specification. <P>
-<ul>
-<li>Dynamic Skeleton Interface<br>
-<li>Dynamic Invocation Interface<br>
-<li>Dynamic Any<br>
-<li>Interceptors<br>
-<li>Interface Repository<br>
-<li>Advanced POA features<br>
-<li>CORBA/COM interworking<br>
-</ul>
-</OL>
-
-The implicit subsetting of TAO requires no explicit application
-programmer intervention. In contrast, to minimize the footprint of
-TAO explicitly, you must first <a href="../../ACE-INSTALL.html">configure</a>
-ACE to support only those <a href =
-"../../docs/ACE-subsets.html">components</a>
-that are required by TAO. Second, you must <a href =
-"../TAO-INSTALL.html">configure</a>
-TAO to only support the components specified by the
-<em>minimumCORBA</em> specification. The following two tables show
-the footprint reduction achievable via explicit subsetting. Note that
-the IDL Compiler column refers to the code required to collaborate
-between the IDL compiler and the ORB, and not to the code for the IDL
-compiler itself.
-
-<p><hr width=50% align=left> <p>
-
-Note: All measurement are for ACE 5.0 and TAO 1.0 using egcs-2.91.60
-on SunOS5.7<P>
-
-The <a
-href="../../ACE-INSTALL.html#flags">make
-flags</a> options used were: <P>
-
-<code> debug=0 optimize=1 static_libs_only=1 DEFFLAGS=-DACE_USE_RCSID=0 </code> <P>
-
-These options translate into:<P>
-<UL>
-<LI> No debugging
-<LI> Optimization is set to -O2
-<LI> Static ACE and TAO libraries
-<LI> Use of RCS Ids is turned off
-</UL>
-<p>
-
-To build a TAO static library, if shared libraries are the default,
-use <code>make static_libs_only=1</code> (make sure to do this for
-ACE, as well). If you're using recent versions of GNU GCC, you can
-use the <A HREF="../../ACE-INSTALL.html#repo">-frepo</A> option, which
-typically reduces the footprint by another 25 percent. <P>
-
-<p><hr width=50% align=left> <p>
-
-<center><table cellpadding=4 border=4>
- <tr>
- <th>Configuration
- <th>Component
- <th>Total
- <th>OS
- <th>Utils
- <th>Logging
- <th>Threads
- <th>Demux
- <th>Connection
- <th>Sockets
- <th>IPC
- <th>Svcconf
- <th>Streams
- <th>Memory
- <th>Token
- <th>Other
- <tr>
- <th rowspan=2>ACE (all components)
- <th>Size, bytes
- <td align=center>709.5
- <td align=center>11.9
- <td align=center>115.3
- <td align=center>13.7
- <td align=center>63.0
- <td align=center>88.0
- <td align=center>68.6
- <td align=center>16.9
- <td align=center>43.0
- <td align=center>99.8
- <td align=center>21.4
- <td align=center>29.2
- <td align=center>76.0
- <td align=center>62.9
- <tr>
- <th>Percentage of<br>total size
- <td align=center>100
- <td align=center>1.7
- <td align=center>16.2
- <td align=center>1.9
- <td align=center>8.9
- <td align=center>12.4
- <td align=center>9.7
- <td align=center>2.4
- <td align=center>6.0
- <td align=center>14.1
- <td align=center>3.0
- <td align=center>4.1
- <td align=center>10.7
- <td align=center>8.9
- <tr>
- <th rowspan=2>ACE (TAO components)
- <th>Size, bytes
- <td align=center>570.7
- <td align=center>11.9
- <td align=center>115.3
- <td align=center>13.7
- <td align=center>63.0
- <td align=center>88.0
- <td align=center>68.6
- <td align=center>16.9
- <td align=center>43.0
- <td align=center>99.8
- <td align=center>21.4
- <td align=center>29.2
- <td align=center>0
- <td align=center>0
- <tr>
- <th>Percentage of<br>total size
- <td align=center>100
- <td align=center>2.1
- <td align=center>20.2
- <td align=center>2.4
- <td align=center>11.0
- <td align=center>15.4
- <td align=center>12.0
- <td align=center>3.0
- <td align=center>7.5
- <td align=center>17.5
- <td align=center>3.7
- <td align=center>5.1
- <td align=center>0
- <td align=center>0
- <tr>
- <th>Reduction
- <th>%
- <td align=center>19.6
- <td align=center>0
- <td align=center>0
- <td align=center>0
- <td align=center>0
- <td align=center>0
- <td align=center>0
- <td align=center>0
- <td align=center>0
- <td align=center>0
- <td align=center>0
- <td align=center>0
- <td align=center>100
- <td align=center>100
-</table></center>
-
-<p><hr width=50% align=left> <p>
-
-<center><table cellpadding=4 border=4>
- <tr>
- <th>Configuration
- <th>Component
- <th>Total
- <th>POA
- <th>Pluggable Protocols
- <th>Default Resources
- <th>Interpretive Marshaling
- <th>IDL Compiler
- <th>ORB Core
- <th>Dynamic Any
- <tr>
- <th rowspan=2>Complete TAO
- <th>Size, Kbytes
- <td align=center>1617.2
- <td align=center>412.5
- <td align=center>281.0
- <td align=center>32.1
- <td align=center>73.4
- <td align=center>10.7
- <td align=center>595.2
- <td align=center>212.3
- <tr>
- <th>Percentage of<br>total size
- <td align=center>100
- <td align=center>25.5
- <td align=center>17.4
- <td align=center>2.0
- <td align=center>4.5
- <td align=center>0.7
- <td align=center>36.8
- <td align=center>13.1
- <tr>
- <th rowspan=2>Minimum TAO
- <th>Size, Kbytes
- <td align=center>1359.2
- <td align=center>376.2
- <td align=center>281.0
- <td align=center>32.1
- <td align=center>73.4
- <td align=center>10.7
- <td align=center>585.5
- <td align=center>0.0
- <tr>
- <th>Percentage of<br>total size
- <td align=center>100
- <td align=center>27.7
- <td align=center>20.7
- <td align=center>2.4
- <td align=center>5.4
- <td align=center>0.8
- <td align=center>43.1
- <td align=center>0.0
- <tr>
- <th>Reduction
- <th>%
- <td align=center>16.0
- <td align=center>8.8
- <td align=center>0
- <td align=center>0
- <td align=center>0
- <td align=center>0
- <td align=center>1.6
- <td align=center>100
-</table></center><p>
-
-<HR>
-
-<h3><a name="Status">ACE+TAO Subsetting Work in Progress</a></h3>
-
-We've been tracking the footprint reduction of ACE+TAO periodically
-since April, 2000. All the statistics are available <A
-HREF="http://doc.ece.uci.edu/Stats/">online</A>. As the result of
-this prior work, we've identified various areas for improvement that
-we're now addressing. For example, the following are the remaining
-areas for ACE subsetting:
-
- <ul>
- <li><EM><B>Log_Msg decoupling</EM></B> -- We have a good start on this, but it needs work
- to finish. It might be easiest to make an abstract
- base class, then have ACE_Log_Msg derive from it. That way
- we could remove the exposure of all the #includes in Log_Msg.cpp
- to applications that don't need it. Another alternative would
- be to disable compilation of Log_Msg.cpp when ACE_NLOGGING is
- enabled.<p>
-
- <li><EM><B>Higher layer interdependencies</EM></B> -- We haven't
- exhaustively tested all possible combinations of subsets. It's possible
- that there are interdependencies between some layers that
- we haven't yet identified and removed.<p>
-
- <li><EM><B>Remove reliance on multiple inheritance</EM></B> -- Multiple
- inheriance is only used in a few
- places in ACE. This
- isn't really a subsetting problem, but is necessary to
- fully take advantage of optimizations available on C++ compilers for
- embedded systems.<p>
- </ul>
-
-We anticipate that these changes should reduce the default size of ACE
-by around 100-200 kbytes.<P>
-
-As the effort to reduce TAO's footprint continues, we are planning
-several modifications for TAO that should reduce the footprint for
-both the full CORBA and minimum CORBA configurations by around 300-400
-Kbytes. The list below contains an estimate of the impact of each one
-of these changes, along with the estimated effort to implement them.
-</P>
-
-<P>
- <TABLE CELLPADDING=4 BORDER=4>
- <TR>
- <TD>Component</TD><TD>Impact</TD><TD>Effort</TD>
- <TD>Description</TD>
- </TR>
- <TR>
- <TD>TAO</TD><TD>~95 Kb</TD><TD>2 weeks</TD>
- <TD>
- Make RT CORBA 1.0 support optional, thereby allowing CORBA-compliant
- applications to link without incurring the overhead of TAO's
- RT CORBA features.
- </TD>
- </TR>
- <TR>
- <TD>TAO</TD><TD>~50 kB</TD><TD>3 weeks</TD>
- <TD>
- Make the CORBA Messaging components optional.
- This change requires making RT-CORBA optional first.
- </TD>
- </TR>
- <TR>
- <TD>ACE</TD><TD>14 Kb</TD><TD>4 weeks</TD>
- <TD>
- Implement a TAO-specific Reactor.
- ACE's reactor supports a number of features that TAO does not
- require. Thus, a TAO-specific implementation is an important way to
- reduce the footprint.
- </TD>
- </TR>
- <TR>
- <TD>ACE</TD><TD>20 Kb</TD><TD>4 weeks</TD>
- <TD>
- Implement a TAO-specific Service Configurator.
- TAO uses the ACE Service Configurator to dynamically configure
- its strategies. In many embedded applications the set of
- strategies are selected at design-time, on those platforms it
- would be appropriate to disable all the features to
- dynamically load components into the ORB.
- </TD>
- </TR>
- <TR>
- <TD>TAO</TD><TD>10-15 Kb</TD><TD>1-2 weeks</TD>
- <TD>
- Eliminate duplicate code due to instantiations of string ->
- pointer maps. TAO uses several such maps, they could be replaced by a
- generic version, wrapped with a fully inlined (i.e. zero
- footprint) adapter for type-safety.
- </TD>
- </TR>
- <TR>
- <TD>TAO</TD><TD>3-10 Kb</TD><TD>1-2 weeks</TD>
- <TD>
- Make message buffering strategies optional.
- TAO supports policy extensions to control the outgoing oneway and AMI
- request buffers. Those policies are not used by all
- applications.
- </TD>
- </TR>
- <TR>
- <TD>TAO</TD><TD>10 Kb</TD><TD>2 weeks</TD>
- <TD>
- Make support for multiple ORBs optional.
- TAO can support multiple ORBs in the same process, but most
- applications only require one.
- </TD>
- </TR>
- <TR>
- <TD>TAO</TD><TD>&lt;20 Kb</TD><TD>1 weeks</TD>
- <TD>
- Use lower footprint alternatives to the
- <CODE>ACE_Strategy_Acceptor</CODE> and
- <CODE>ACE_Strategy_Connector</CODE> classes.
- TAO is using the most flexible classes in ACE to implement
- acceptors and connector, but does not take advantage of this
- flexibility.
- </TD>
- </TR>
- <TR>
- <TD>TAO</TD><TD>5 Kb</TD><TD>1 week</TD>
- <TD>
- Move the less common transport muxing and reply waiting
- strategies to an optional library.
- </TD>
- </TR>
- <TR>
- <TD>ACE+TAO</TD><TD>30 Kb</TD><TD>8 weeks</TD>
- <TD>
- Decouple ACE (and then TAO) from the
- <CODE>ACE_Thread_Manager</CODE> component.
- This component is only used in the thread-per-connection
- model, if we could decouple it in ACE then TAO could be
- modified to only link this component when that concurrency
- model is enabled.
- </TD>
- </TR>
- <TR>
- <TD>TAO</TD><TD>&gt;50 Kb</TD><TD>6 weeks</TD>
- <TD>
- Move <CODE>&lt;&lt;=</CODE> and <CODE>&gt;&gt;=</CODE>
- operators to separate files.
- Currently TAO includes nearly 500 such operators, moving them
- to separate files (grouped by component?) would eliminate them
- from most applications.
- </TD>
- </TR>
- </TABLE>
-</P>
-
-<P>In parallel with the activities described above we are pursuing
-other avenues of research to find sources of rarely used or unused
-code in ACE+TAO, and to modify the software to eliminate such code.
-These activities include the following:</P>
-
-<UL>
- <LI><P>
- Using profiling tools, such as gprof, Quantify and True Coverage
- to find unreachable code, or code only reachable in certain
- applications.
- </P></LI>
- <LI><P>
- The code TAO's IDL compiler generates for <CODE>CORBA::Any</CODE>
- operators is large, so we are evaluating designs that reduce the impact of the <CODE>CORBA::Any</CODE>
- type support. TAO's IDL compiler already makes that support optional.
- However, for applications that require <CODE>Anys</CODE> it may be useful to separate that code
- in another file to reduce the size of generated stubs and skeletons,
- without losing the opportunity to use more dynamic CORBA invocation
- modes.
- </P></LI>
- <LI><P>
- The Notification Service currently depends on the Trading service to
- implement the Trader Constraint Language. We are planning to break that
- dependency and factor the TCL parser into a smaller library shared
- by both services.
- </P></LI>
- <LI><P>
- TAO still contains features that are rarely or never used.
- Examples include the interfaces to query the well-known services and
- to dynamically discover the level of security support. Those
- components should only be linked (dynamically) in applications that require them.
- </P></LI>
- <LI><P>
- The support for interceptors currently generated by the IDL compiler
- can be partially refactored into common ORB code.
- Moreover, we evaluating a new implementation of interceptors
- that can be configured dynamically, thereby eliminating the need for
- compile-time configuration flags.
- </P></LI>
- <LI><P>
- We are planning to provide compile-time flags to eliminate certain mandatory features
- in CORBA that are not used in all applications, such as IOR
- parsers (corbaloc, corbaname, etc.).
- </P></LI>
- <LI><P>
- Finally, we will perfom more code inspections to determine if template code can be
- refactored into base classes and thereby shared by many objects in
- the ACE+TAO implementations.
- </P></LI>
-</UL>
-
-Although we do not yet have sufficient insights to know how much
-footprint reduction these activities will afford, we anticipate these
-enhancements could reduce the default footprint of TAO by another
-100-200 Kbytes.
-
-</body>
-</html>
diff --git a/TAO/docs/pluggable_protocols/index.html b/TAO/docs/pluggable_protocols/index.html
index fbd58eaf66d..193d195dcc0 100644
--- a/TAO/docs/pluggable_protocols/index.html
+++ b/TAO/docs/pluggable_protocols/index.html
@@ -59,9 +59,9 @@ links that describe TAO's pluggable protocols framework, though not
how to implement one: <BLOCKQUOTE> <A
HREF="../releasenotes/index.html#pp">../releasenotes/index.html#pp</A><BR>
-<A HREF="http://www.cs.wustl.edu/~schmidt/PfHSN.ps.gz">http://www.cs.wustl.edu/~schmidt/PfHSN.ps.gz</A><BR>
+<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/PfHSN.pdf">http://www.cs.wustl.edu/~schmidt/PDF/PfHSN.pdf</A><BR>
<A
-HREF="http://www.cs.wustl.edu/~schmidt/pluggable_protocols.ps.gz">http://www.cs.wustl.edu/~schmidt/pluggable_protocols.ps.gz</A>
+HREF="http://www.cs.wustl.edu/~schmidt/PDF/pluggable_protocols.pdf">http://www.cs.wustl.edu/~schmidt/PDF/pluggable_protocols.pdf</A>
</BLOCKQUOTE>
<P>
@@ -124,9 +124,9 @@ HREF="http://www.cs.wustl.edu/~schmidt/pluggable_protocols.ps.gz">http://www.cs.
<P>
-<H1><A NAME="SECTION100" HREF="#TOC_SECTION100">
+<H3><A NAME="SECTION100" HREF="#TOC_SECTION100">
Overview of Implementation of Pluggable Protocols for TAO</A>
-</H1>
+</H3>
<P>
There are several basic implementation details that should be followed when
@@ -136,9 +136,9 @@ section describes them.
<P>
-<H2><A NAME="SECTION110" HREF="#TOC_SECTION110">
+<H3><A NAME="SECTION110" HREF="#TOC_SECTION110">
The Hard Way</A>
-</H2>
+</H3>
<P>
It is possible to implement a pluggable protocol for TAO without using
@@ -149,9 +149,9 @@ using existing ACE and TAO models and implementations.
<P>
-<H2><A NAME="SECTION120" HREF="#TOC_SECTION120">
+<H3><A NAME="SECTION120" HREF="#TOC_SECTION120">
The Path of Least Resistance</A>
-</H2>
+</H3>
<P>
TAO takes advantage of the many useful encapsulations provided by ACE. These
@@ -250,9 +250,9 @@ a pluggable protocol for TAO.
<P>
<HR>
<P>
-<H1><A NAME="SECTION200" HREF="#TOC_SECTION200">
+<H3><A NAME="SECTION200" HREF="#TOC_SECTION200">
Pluggable Protocol Framework Components</A>
-</H1>
+</H3>
<P>
In order for a pluggable protocol to be usable by TAO <STRONG><EM>without</EM></STRONG> making any modifications
@@ -264,9 +264,9 @@ within several components, namely the <TT>Acceptor</TT>, <TT>Connector</TT>,
<P>
-<H2><A NAME="SECTION210" HREF="#TOC_SECTION210">
+<H3><A NAME="SECTION210" HREF="#TOC_SECTION210">
The <TT>Acceptor</TT></A>
-</H2>
+</H3>
<P>
@@ -839,9 +839,9 @@ of TAO's pluggable protocols simply return <TT>1</TT>.</DD>
<P>
-<H2><A NAME="SECTION220" HREF="#TOC_SECTION220">
+<H3><A NAME="SECTION220" HREF="#TOC_SECTION220">
The <TT>Connector</TT></A>
-</H2>
+</H3>
<P>
@@ -1359,9 +1359,9 @@ and the `<TT>/</TT>' is the protocol-specific object key delimiter.
<P>
-<H2><A NAME="SECTION230" HREF="#TOC_SECTION230">
+<H3><A NAME="SECTION230" HREF="#TOC_SECTION230">
The <TT>Profile</TT> Object</A>
-</H2>
+</H3>
<P>
TAO <TT>Profile</TT> objects encapsulate all of the methods and members necessary
@@ -1698,9 +1698,9 @@ of improved <TT>Connector</TT> table look up times.</DD>
<P>
-<H2><A NAME="SECTION240" HREF="#TOC_SECTION240">
+<H3><A NAME="SECTION240" HREF="#TOC_SECTION240">
The <TT>Protocol_Factory</TT> Object</A>
-</H2>
+</H3>
<P>
TAO's uses the ACE's Service Configurator implementation&nbsp;[<A
@@ -2032,9 +2032,9 @@ static&nbsp;Resource_Factory&nbsp;&#34;-ORBProtocolFactory&nbsp;UIOP_Factory&#34
</DL>
<P>
-<H2><A NAME="SECTION250" HREF="#TOC_SECTION250">
+<H3><A NAME="SECTION250" HREF="#TOC_SECTION250">
The <TT>Transport</TT> Object</A>
-</H2>
+</H3>
<P>
@@ -2497,9 +2497,9 @@ TAO's existing pluggable protocols implement client-side and server-side specifi
<TT>Transport</TT>s. For the most part, they can be used as references for other
pluggable protocols.
-<H2><A NAME="SECTION260" HREF="#TOC_SECTION260">
+<H3><A NAME="SECTION260" HREF="#TOC_SECTION260">
The <TT>Connection_Handler</TT></A>
-</H2>
+</H3>
A <TT>Connection_Handler</TT> is simply a template instantiation of
<TT>ACE_Svc_Handler&lt;&gt;</TT>&nbsp;[<A HREF="#Schmidt:97c">1</A>],
a service handler. <TT>ACE_Svc_Handler</TT>s provide a well-defined
@@ -2535,9 +2535,9 @@ and
<HR>
<P>
-<H1><A NAME="SECTION300" HREF="#TOC_SECTION300">
+<H3><A NAME="SECTION300" HREF="#TOC_SECTION300">
Notes From a ``Real World'' Pluggable Protocol Implementation</A>
-</H1>
+</H3>
By Bruce Trask &lt;<A
HREF="mailto:btrask@contactsystems.com">btrask@contactsystems.com</A>&gt;
@@ -2558,35 +2558,38 @@ were:
<BLOCKQUOTE>
Reactor (
<A HREF="http://www.cs.wustl.edu/~schmidt/Reactor.ps.gz">PostScript</A> |
-<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/Reactor.pdf.gz">PDF</A>
+<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/Reactor.pdf">PDF</A>
)<BR>
Reactor1-93 (
<A HREF="http://www.cs.wustl.edu/~schmidt/Reactor1-93.ps.gz">PostScript</A> |
-<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/Reactor1-93.pdf.gz">PDF</A>
+<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/Reactor1-93.pdf">PDF</A>
)<BR>
Reactor2-93 (
<A HREF="http://www.cs.wustl.edu/~schmidt/Reactor2-93.ps.gz">PostScript</A> |
-<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/Reactor2-93.pdf.gz">PDF</A>
+<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/Reactor2-93.pdf">PDF</A>
)<BR>
reactor-rules (
<A HREF="http://www.cs.wustl.edu/~schmidt/reactor-rules.ps.gz">PostScript</A> |
-<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/reactor-rules.pdf.gz">PDF</A>
+<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/reactor-rules.pdf">PDF</A>
)<BR>
reactor-siemens (
<A HREF="http://www.cs.wustl.edu/~schmidt/reactor-siemens.ps.gz">PostScript</A> |
-<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/reactor-siemens.pdf.gz">PDF</A>
+<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/reactor-siemens.pdf">PDF</A>
)<BR>
Svc-Conf (
-<A HREF="http://www.cs.wustl.edu/~schmidt/Svc-Conf.ps.gz">PostScript</A>
+<A
+HREF="http://www.cs.wustl.edu/~schmidt/Svc-Conf.ps.gz">PostScript</A> |
+<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/Svc-Conf.pdf">PDF</A>
)<BR>
Acc-Con (
<A HREF="http://www.cs.wustl.edu/~schmidt/Acc-Con.ps.gz">PostScript</A>
+<A HREF="http://www.cs.wustl.edu/~schmidt/PDF/Acc-Con.pdf">PDF</A>
)
</BLOCKQUOTE>
<P>These are all readily available from the TAO and ACE website.
@@ -2774,22 +2777,22 @@ HREF="mailto:btrask@contactsystems.com">btrask@contactsystems.com</A>
<HR>
<P>
-<H1>
+<H3>
<A NAME="SECTION400" HREF="#TOC_SECTION400">
Additional Implementation Information
</A>
-</H1>
+</H3>
<P>
This section covers additional information not necessarily related to
TAO's pluggable protocol framework but may still be of interest to
pluggable protocol and ORB developers, nevertheless.
-<H2>
+<H3>
<A NAME="SECTION410" HREF="#TOC_SECTION410">
Tags
</A>
-</H2>
+</H3>
Tags are used to uniquely identify certain parts of an ORB, including
the following:
@@ -2821,9 +2824,9 @@ Information about tags used in TAO is available
<HR>
<P>
-<H1><A NAME="SECTION500" HREF="#TOC_SECTION500">
+<H3><A NAME="SECTION500" HREF="#TOC_SECTION500">
Using a Pluggable Protocol</A>
-</H1>
+</H3>
<P>
Once a TAO pluggable protocol is implemented, the ORB is told to load it by
@@ -2908,12 +2911,12 @@ All ORB options are described <A HREF="../Options.html">here</A>.
<HR>
<P>
-<H2><A NAME="SECTION600" HREF="#TOC_SECTION600">
+<H3><A NAME="SECTION600" HREF="#TOC_SECTION600">
Bibliography</A>
-</H2><DL COMPACT><DD><P></P><DT><A NAME="Schmidt:97c">1</A>
+</H3><DL COMPACT><DD><P></P><DT><A NAME="Schmidt:97c">1</A>
<DD>
D. C. Schmidt,
-``<A HREF=http://www.cs.wustl.edu/~schmidt/Acc-Con.ps.gz>
+``<A HREF=http://www.cs.wustl.edu/~schmidt/PDF/Acc-Con.pdf>
Acceptor and Connector: Design Patterns for Initializing
Communication Services</A>,''
in <EM> Pattern Languages of Program Design</EM>
@@ -2923,7 +2926,7 @@ D. C. Schmidt,
<P></P><DT><A NAME="Schmidt:97e">2</A>
<DD>
C. Cleeland, D. C. Schmidt and T. Harrison,
-``<A HREF=http://www.cs.wustl.edu/~schmidt/External-Polymorphism.ps.gz>
+``<A HREF=http://www.cs.wustl.edu/~schmidt/PDF/External-Polymorphism.pdf>
External Polymorphism -- An Object Structural Pattern for
Transparently Extending Concrete Data Types</A>,''
in <EM> Pattern Languages of Program Design</EM>
@@ -2933,7 +2936,7 @@ C. Cleeland, D. C. Schmidt and T. Harrison,
<P></P><DT><A NAME="Schmidt:94k">3</A>
<DD>
D. C. Schmidt and T. Suda,
- ``<A HREF=http://www.cs.wustl.edu/~schmidt/DSEJ-94.ps.gz>
+ ``<A HREF=http://www.cs.wustl.edu/~schmidt/PDF/DSEJ-94.pdf>
An Object-Oriented Framework for Dynamically
Configuring Extensible Distributed Communication Systems</A>,'' <EM> IEE/BCS
Distributed Systems Engineering Journal (Special Issue on Configurable
@@ -2947,14 +2950,15 @@ H. Hueni, R. Johnson, and R. Engel, ``A Framework for Network Protocol
<P></P><DT><A NAME="Buschmann:95b">5</A>
<DD>
-F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal, <EM> Pattern-Oriented Software Architecture - A System of Patterns</EM>.
-<BR>Wiley and Sons, 1996.
+F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal, <A
+HREF="http://www.cs.wustl.edu/~schmidt/POSA/>Pattern-Oriented Software
+Architecture - A System of Patterns</EM>. <BR>Wiley and Sons, 1996.
<P></P><DT><A NAME="Schmidt:99x">6</A>
<DD>
Carlos O'Ryan, Fred Kuhns, Douglas C. Schmidt, Ossama Othman, and Jeff
Parsons, <A
-HREF="http://www.cs.wustl.edu/~schmidt/pluggable_protocols.ps.gz"> The
+HREF="http://www.cs.wustl.edu/~schmidt/PDF/pluggable_protocols.pdf"> The
Design and Performance of a Pluggable Protocols Framework for
Real-time Distributed Object Computing Middleware</A>, Proceedings of
the IFIP/ACM <A
@@ -2963,7 +2967,7 @@ Conference, Pallisades, New York, April 3-7, 2000. <P>
<P></P><DT><A NAME="Schmidt:99c">7</A> <DD> Fred Kuhns, Carlos O'Ryan,
Douglas C. Schmidt, Ossama Othman, and Jeff Parsons, <A
-HREF="http://www.cs.wustl.edu/~schmidt/PfHSN.ps.gz">The Design and
+HREF="http://www.cs.wustl.edu/~schmidt/PDF/PfHSN.pdf">The Design and
Performance of a Pluggable Protocols Framework for Object Request
Broker Middleware,</A> Proceedings of the <A
HREF="http://www.isi.edu/pfhsn99/call.html">IFIP Sixth International
@@ -2986,7 +2990,7 @@ examples of the Layers architecture.
<ADDRESS><a href="mailto:ossama@uci.edu">Ossama Othman</a></ADDRESS>
<!-- Created: Tue Dec 14 16:53:58 CST 1999 -->
<!-- hhmts start -->
-Last modified: Sat May 19 17:18:30 CDT 2001
+Last modified: Mon Nov 19 07:56:38 CST 2001
<!-- hhmts end -->
</BODY>
</HTML>
diff --git a/TAO/examples/OBV/Typed_Events/README b/TAO/examples/OBV/Typed_Events/README
index 77b3950e13f..effdc9c9a7e 100644
--- a/TAO/examples/OBV/Typed_Events/README
+++ b/TAO/examples/OBV/Typed_Events/README
@@ -5,23 +5,22 @@ Typed Events
This is a demonstration of the CORBA 2.3 valuetype feature.
Event_Types.idl defines a hierarchy of event classes. The common
-attributes (indeed not CORBA attributes, they're state members)
-like creation time and id of the origin are in a base class.
-Concrete events like Temperature, Position and Log Message are derived
-from this class.
+attributes (indeed not CORBA attributes, they're state members) like
+creation time and id of the origin are in a base class. Concrete
+events like Temperature, Position and Log Message are derived from
+this class.
The client sends a few random events to the server. The server has
-suitable implementations of the event classes. So it is able to
-show the incoming events by invoking the do_print () operation, which is
-declared in the Event baseclass.
-After that the server does an "alarm" check on the event.
-For each possible origin id (KITCHEN, BATHROOM) a criterion has been
-registered. The criterion which equals the origin id of the event is
-searched and then asked with is_critical (event).
-
-Finally a list with all the events which causes an alarm is
-requested by the client.
-
+suitable implementations of the event classes. So it is able to show
+the incoming events by invoking the do_print () operation, which is
+declared in the Event baseclass. After that the server does an
+"alarm" check on the event. For each possible origin id (KITCHEN,
+BATHROOM) a criterion has been registered. The criterion which equals
+the origin id of the event is searched and then asked with is_critical
+(event).
+
+Finally a list with all the events which causes an alarm is requested
+by the client.
Start with:
diff --git a/TAO/performance-tests/RTCorba/Oneways/Reliable/client.cpp b/TAO/performance-tests/RTCorba/Oneways/Reliable/client.cpp
index bf5c8550509..a1520f73cc6 100644
--- a/TAO/performance-tests/RTCorba/Oneways/Reliable/client.cpp
+++ b/TAO/performance-tests/RTCorba/Oneways/Reliable/client.cpp
@@ -47,7 +47,7 @@ inline int QuantifyStopRecordingData ()
static const char *ior = "file://test.ior";
// Levels at which syncscope policy can be set.
-enum LEVEL {ORB, THREAD, OBJECT};
+enum LEVEL {ORB_LEVEL, THREAD_LEVEL, OBJECT_LEVEL};
// Default is OBJECT level.
static LEVEL level = OBJECT;
@@ -318,11 +318,11 @@ parse_args (int argc, char *argv[])
char *tmp = get_opts.optarg;
if (!ACE_OS::strcmp (tmp, "orb"))
- level = ORB;
+ level = ORB_LEVEL;
else if (!ACE_OS::strcmp (tmp, "thread"))
- level = THREAD;
+ level = THREAD_LEVEL;
else if (!ACE_OS::strcmp (tmp, "object"))
- level = OBJECT;
+ level = OBJECT_LEVEL;
else
error = 1;
break;
@@ -497,7 +497,7 @@ main (int argc, char *argv[])
switch (level)
{
- case ORB:
+ case ORB_LEVEL:
// Set the sync scope policy at the ORB level.
policy_manager->set_policy_overrides (sync_scope_policy_list,
CORBA::ADD_OVERRIDE,
@@ -505,7 +505,7 @@ main (int argc, char *argv[])
ACE_TRY_CHECK;
break;
- case THREAD:
+ case THREAD_LEVEL:
// Set the sync scope policy at the thread level.
policy_current->set_policy_overrides (sync_scope_policy_list,
CORBA::ADD_OVERRIDE,
@@ -513,7 +513,7 @@ main (int argc, char *argv[])
ACE_TRY_CHECK;
break;
- case OBJECT:
+ case OBJECT_LEVEL:
// Set the sync scope policy at the object level.
obj = server->_set_policy_overrides (sync_scope_policy_list,
CORBA::ADD_OVERRIDE,
diff --git a/TAO/tao/Exception.h b/TAO/tao/Exception.h
index 3b35fe3b406..8ed69d8107c 100644
--- a/TAO/tao/Exception.h
+++ b/TAO/tao/Exception.h
@@ -13,7 +13,6 @@
*/
//=============================================================================
-
#ifndef TAO_EXCEPTION_H
#define TAO_EXCEPTION_H
#include "ace/pre.h"