summaryrefslogtreecommitdiff
path: root/TAO/docs/pluggable_protocols
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2001-12-08 21:59:30 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2001-12-08 21:59:30 +0000
commitb11770b30f8b58d20fe2d61846bfa3fc5354ee7e (patch)
tree6939cf1ed0a80ce8a3224d33f3d23c0e1b9a517f /TAO/docs/pluggable_protocols
parent8fd5b8293423d91c699711bce0f3551cb8c20a69 (diff)
downloadATCD-b11770b30f8b58d20fe2d61846bfa3fc5354ee7e.tar.gz
Merged corba-env-clean branch.
Diffstat (limited to 'TAO/docs/pluggable_protocols')
-rw-r--r--TAO/docs/pluggable_protocols/index.html170
1 files changed, 85 insertions, 85 deletions
diff --git a/TAO/docs/pluggable_protocols/index.html b/TAO/docs/pluggable_protocols/index.html
index 193d195dcc0..0d489b9c3d5 100644
--- a/TAO/docs/pluggable_protocols/index.html
+++ b/TAO/docs/pluggable_protocols/index.html
@@ -20,12 +20,12 @@
<H1 ALIGN="CENTER">Implementing Pluggable Protocols for TAO</H1>
<P ALIGN="CENTER">
<STRONG>
-<A HREF="http://www.cs.wustl.edu/~fredk/">Fred Kuhns</A>,
+<A HREF="http://www.cs.wustl.edu/~fredk/">Fred Kuhns</A>,
<A HREF="http://www.ece.uci.edu/~schmidt/">Douglas C. Schmidt</A>,
-<A HREF="http://doc.ece.uci.edu/~coryan">Carlos O'Ryan</A>,
+<A HREF="http://doc.ece.uci.edu/~coryan">Carlos O'Ryan</A>,
<A HREF="http://www.ece.uci.edu/~ossama/">Ossama Othman</A>,
and <A HREF="mailto:BTRASK@contactsystems.com">Bruce Trask</A>
-</STRONG>
+</STRONG>
</P>
<P ALIGN="CENTER">
@@ -269,7 +269,7 @@ The <TT>Acceptor</TT></A>
</H3>
<P>
-
+
<A NAME="design:accept"></A>
<P>
@@ -333,8 +333,8 @@ Server Pluggable Protocol Class Diagram</CAPTION>
<TR><TD><P>
<P>
-
-<DIV ALIGN="CENTER">
+
+<DIV ALIGN="CENTER">
<!-- MATH
$\resizebox* {5in}{!}{\includegraphics{graphics/server.eps}}$
-->
@@ -394,185 +394,185 @@ public:<BR>
&nbsp;
<BR>
-
+
&nbsp;&nbsp;virtual&nbsp;~TAO_Acceptor&nbsp;(void);
<BR>
-
+
&nbsp;&nbsp;//&nbsp;Destructor
<BR>
-
+
&nbsp;
<BR>
-
+
&nbsp;&nbsp;CORBA::ULong&nbsp;tag&nbsp;(void)&nbsp;const;
<BR>
-
+
&nbsp;&nbsp;//&nbsp;The&nbsp;tag,&nbsp;each&nbsp;concrete&nbsp;class&nbsp;will&nbsp;have&nbsp;a&nbsp;specific&nbsp;tag&nbsp;value.
<BR>
-
+
&nbsp;
<BR>
-
+
&nbsp;&nbsp;CORBA::Short&nbsp;priority&nbsp;(void)&nbsp;const;
<BR>
-
+
&nbsp;&nbsp;//&nbsp;The&nbsp;priority&nbsp;for&nbsp;this&nbsp;endpoint.
<BR>
-
+
&nbsp;
<BR>
-
+
&nbsp;&nbsp;virtual&nbsp;int&nbsp;open&nbsp;(TAO_ORB_Core&nbsp;*orb_core,
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;version_major,
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;version_minor,
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;char&nbsp;*address,
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;char&nbsp;*options&nbsp;=&nbsp;0)&nbsp;=&nbsp;0;
<BR>
-
+
&nbsp;&nbsp;//&nbsp;Method&nbsp;to&nbsp;initialize&nbsp;acceptor&nbsp;for&nbsp;address.
<BR>
-
+
&nbsp;
<BR>
-
+
&nbsp;&nbsp;virtual&nbsp;int&nbsp;open_default&nbsp;(TAO_ORB_Core&nbsp;*orb_core,
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;char&nbsp;*options&nbsp;=&nbsp;0)&nbsp;=&nbsp;0;
<BR>
-
+
&nbsp;&nbsp;//&nbsp;Open&nbsp;an&nbsp;acceptor&nbsp;on&nbsp;the&nbsp;default&nbsp;endpoint&nbsp;for&nbsp;this&nbsp;protocol
<BR>
-
+
&nbsp;
<BR>
-
+
&nbsp;&nbsp;virtual&nbsp;int&nbsp;close&nbsp;(void)&nbsp;=&nbsp;0;
<BR>
-
+
&nbsp;&nbsp;//&nbsp;Closes&nbsp;the&nbsp;acceptor
<BR>
-
+
&nbsp;
<BR>
-
+
&nbsp;&nbsp;virtual&nbsp;int&nbsp;create_mprofile&nbsp;(const&nbsp;TAO_ObjectKey&nbsp;&amp;object_key,
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TAO_MProfile&nbsp;&amp;mprofile)&nbsp;=&nbsp;0;
<BR>
-
+
&nbsp;&nbsp;//&nbsp;Create&nbsp;the&nbsp;corresponding&nbsp;profile&nbsp;for&nbsp;this&nbsp;endpoint.
<BR>
-
+
&nbsp;
<BR>
-
+
&nbsp;&nbsp;virtual&nbsp;int&nbsp;is_collocated&nbsp;(const&nbsp;TAO_Profile*&nbsp;profile)&nbsp;=&nbsp;0;
<BR>
-
+
&nbsp;&nbsp;//&nbsp;Return&nbsp;1&nbsp;if&nbsp;the&nbsp;&lt;profile&gt;&nbsp;has&nbsp;the&nbsp;same&nbsp;endpoint&nbsp;as&nbsp;the&nbsp;acceptor.
<BR>
-
+
&nbsp;
<BR>
-
+
&nbsp;&nbsp;virtual&nbsp;CORBA::ULong&nbsp;endpoint_count&nbsp;(void)&nbsp;=&nbsp;0;
<BR>
-
+
&nbsp;&nbsp;//&nbsp;Returns&nbsp;the&nbsp;number&nbsp;of&nbsp;endpoints&nbsp;this&nbsp;acceptor&nbsp;is&nbsp;listening&nbsp;on.&nbsp;&nbsp;This
<BR>
-
+
&nbsp;&nbsp;//&nbsp;is&nbsp;used&nbsp;for&nbsp;determining&nbsp;how&nbsp;many&nbsp;profiles&nbsp;will&nbsp;be&nbsp;generated
<BR>
-
+
&nbsp;&nbsp;//&nbsp;for&nbsp;this&nbsp;acceptor.
<BR>
-
+
&nbsp;
<BR>
protected:
<BR>
-
+
&nbsp;&nbsp;CORBA::Short&nbsp;priority_;
<BR>
-
+
&nbsp;&nbsp;//&nbsp;The&nbsp;priority&nbsp;for&nbsp;this&nbsp;endpoint
<BR>
-
+
&nbsp;
<BR>
private:
<BR>
-
+
&nbsp;&nbsp;CORBA::ULong&nbsp;tag_;
<BR>
-
+
&nbsp;&nbsp;//&nbsp;IOP&nbsp;protocol&nbsp;tag.
<BR>
-
+
&nbsp;
<BR>
-
+
};
-
+
&nbsp;</DD>
</DL>
A description of each of the methods that must be implemented follows:
<P>
-
+
<DL>
<DT><STRONG>The&nbsp;Constructor.</STRONG></DT>
<DD>Other than initializing members of a pluggable protocol <TT>Acceptor</TT>
@@ -586,35 +586,35 @@ the <TT>TAO_IIOP_Acceptor</TT> constructor implementation is:
<DD>&nbsp;&nbsp;:&nbsp;TAO_Acceptor&nbsp;(TAO_TAG_IIOP_PROFILE),
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;version_&nbsp;(TAO_DEF_GIOP_MAJOR,&nbsp;TAO_DEF_GIOP_MINOR),
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;orb_core_&nbsp;(0),
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;base_acceptor_&nbsp;(),
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;creation_strategy_&nbsp;(0),
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;concurrency_strategy_&nbsp;(0),
<BR>
-
+
&nbsp;&nbsp;&nbsp;&nbsp;accept_strategy_&nbsp;(0)
<BR>
-
+
{
<BR>
-
+
}</DD>
</DL>
<P>
@@ -629,7 +629,7 @@ identifies the protocol is assigned, a tag value that isn't
used by any other protocol can be used in the meantime.
</DL>
-<P>
+<P>
<DL>
<DT><STRONG><TT><A NAME="TAO_Acceptor::open">open</A></TT>.</STRONG></DT>
<DD>The <TT>open</TT> method initializes the acceptor, i.e. sets
@@ -640,7 +640,7 @@ The address specified by using the <TT><A HREF="../Options.html#-ORBEndpoint">-O
directly to this method. If more than one address is specified within a given
<TT>-ORBEndpoint</TT> option then each address is passed one by one to this
method by the pluggable protocols framework. For example, the following <TT>-ORBEndpoint</TT>
-command line option:
+command line option:
<P>
@@ -649,7 +649,7 @@ command line option:
<DD>-ORBEndpoint&nbsp;iiop://1.1@foo.xyz.com,1.0@bar.abc.com</DD>
</DL>
<P>
-will cause the following <TT>open</TT> method invocations to occur:
+will cause the following <TT>open</TT> method invocations to occur:
<P>
@@ -790,7 +790,7 @@ TAO_MProfile&nbsp;&amp;mprofile)&nbsp;
&nbsp;&nbsp;return&nbsp;0;
<P>
-
+
}</DD>
</DL>
<P>
@@ -844,7 +844,7 @@ The <TT>Connector</TT></A>
</H3>
<P>
-
+
<A NAME="design:connect"></A>
<P>
@@ -892,8 +892,8 @@ Connection Establishment Using Multiple Pluggable Protocols</CAPTION>
<P>
<P>
-
-<DIV ALIGN="CENTER">
+
+<DIV ALIGN="CENTER">
<!-- MATH
$\resizebox* {9cm}{!}{\includegraphics{graphics/pp_e2e.eps}}$
-->
@@ -934,8 +934,8 @@ Client Pluggable Protocol Class Diagram</CAPTION>
<TR><TD><P>
<P>
-
-<DIV ALIGN="CENTER">
+
+<DIV ALIGN="CENTER">
<!-- MATH
$\resizebox* {5in}{!}{\includegraphics{graphics/client.eps}}$
-->
@@ -1119,7 +1119,7 @@ private:&nbsp;
</DL>A description of each of the methods that must be implemented follows:
<P>
-
+
<DL>
<DT><STRONG>The&nbsp;Constructor.</STRONG></DT>
<DD>As with the <TT>Acceptor</TT> constructor, the <TT>TAO_Connector</TT>
@@ -1491,7 +1491,7 @@ making them static.
Theses static member are:
<P>
-
+
<DL>
<DT><STRONG><TT>object_key_delimiter</TT>.</STRONG></DT>
<DD>This <I>variable</I> contains the object key
@@ -1542,7 +1542,7 @@ Common to all concrete <TT>Profile</TT> implementations are a set of methods
that must be implemented. A description of each of these methods:
<P>
-
+
<DL>
<DT><STRONG>The&nbsp;Constructors.</STRONG></DT>
<DD>TAO's existing pluggable protocols each implement several
@@ -1789,7 +1789,7 @@ public:&nbsp;
</DL>Each of the important methods to be implemented are described below:
<P>
-
+
<DL>
<DT><STRONG><TT>init</TT>.</STRONG></DT>
<DD>The <TT>init</TT> method is invoked immediately after the pluggable
@@ -1899,7 +1899,7 @@ Notice that the `<TT>|</TT>' character is used to mark where the rendezvous
point ends and where the endpoint-specific options begin.
<P>
-
+
<TT>options_delimiter</TT> is a server-side related method. It is of no use
to the client-side.
@@ -2088,8 +2088,8 @@ Client Inter-ORB and Transport Class Diagram</CAPTION>
<TR><TD><P>
<P>
-
-<DIV ALIGN="CENTER">
+
+<DIV ALIGN="CENTER">
<!-- MATH
$\resizebox* {5in}{!}{\includegraphics{graphics/pp_iopc.eps}}$
-->
@@ -2136,8 +2136,8 @@ Server Inter-ORB and Transport Class Diagram</CAPTION>
<TR><TD><P>
<P>
-
-<DIV ALIGN="CENTER">
+
+<DIV ALIGN="CENTER">
<!-- MATH
$\resizebox* {5in}{!}{\includegraphics{graphics/pp_iops.eps}}$
-->
@@ -2401,7 +2401,7 @@ public:&nbsp;
</DL>Each method is described below:
<P>
-
+
<DL>
<DT><STRONG>The&nbsp;Constructor.</STRONG></DT>
<DD>As with all of the TAO pluggable protocol framework components
@@ -2552,7 +2552,7 @@ is adding a pluggable protocol to the TAO ORB.
<P>I found that in order to successfully add the new protocol capabilities, one had to
have a very good understanding of some of the patterns upon which the ACE framework
is built. These are the REACTOR, ACCEPTOR, CONNECTOR, FACTORY, STRATEGY,
-and SERVICE CONFIGURATOR PATTERN. The papers that I found helpful on these
+and SERVICE CONFIGURATOR PATTERN. The papers that I found helpful on these
were:
<BR>
<BLOCKQUOTE>
@@ -2662,7 +2662,7 @@ then it should be fairly straightforward to create a SCRAMNet
pluggable protocol for TAO. The hard part is implementing the
equivalent ACE classes for SCRAMNet.
<P>
-. . .
+. . .
<P>
It's actually not that bad. The easiest way to add a pluggable protocol
to TAO, IMO, is to base your pluggable protocol on existing ones. As
@@ -2717,12 +2717,12 @@ TAO_SCRAMNet_Profile (Derived from TAO_Profile in <A HREF="../../tao/Profile.h"
TAO_SCRAMNet_Acceptor (Derived from TAO_Acceptor in <A HREF="../../tao/Pluggable.h">Pluggable.h</A>) <BR>
TAO_SCRAMNet_Connector (Derived from TAO_Connector in <A HREF="../../tao/Pluggable.h">Pluggable.h</A>)<BR>
TAO_SCRAMNet_Transport (Derived from TAO_Transport in <A HREF="../../tao/Pluggable.h">Pluggable.h</A>)
- <BLOCKQUOTE>TAO_SCRAMNet_Server_Transport<BR>
- TAO_SCRAMNet_Client_Transport</BLOCKQUOTE>
+ <BLOCKQUOTE>TAO_SCRAMNet_Server_Transport<BR>
+ TAO_SCRAMNet_Client_Transport</BLOCKQUOTE>
TAO_SCRAMNet_Protocol_Factory (Derived from TAO_Protocol Factory in <A HREF="../../tao/Protocol_Factory.h">Protocol_Factory.h</A>)<BR>
TAO_SCRAMNet_Handler_Base (as in <A HREF="../../tao/IIOP_Connect.h">IIOP_Connect.h</A>)
- <BLOCKQUOTE>TAO_SCRAMNet_Client_Connection_Handler<BR>
- TAO_SCRAMNet_Server_Connection_Handler</BLOCKQUOTE></BLOCKQUOTE>
+ <BLOCKQUOTE>TAO_SCRAMNet_Client_Connection_Handler<BR>
+ TAO_SCRAMNet_Server_Connection_Handler</BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>ACE_SCRAMNet_Addr<BR>
ACE_SCRAMNet_Acceptor<BR>
ACE_SCRAMNet_Connector<BR>
@@ -2758,7 +2758,7 @@ information correctly.
<BR><P>
In order to create the ORB with the Win32 Reactor at the core as well as the
SCRAMNet protocol factory loaded and initialize I needed to use the
-svc.conf file with the the following options
+svc.conf file with the the following options
<A HREF="../Options.html#-ORBReactorType">-ORBReactorType</A> wfmo
<A HREF="../Options.html#-ORBProtocolFactory">-ORBProtocolFactory</A> SCRAMNet_Factory
<BR><P>
@@ -2990,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: Mon Nov 19 07:56:38 CST 2001
+Last modified: Sat Dec 8 10:43:59 PST 2001
<!-- hhmts end -->
</BODY>
</HTML>