Skip to content

Commit

Permalink
Improve documentation for TAO_UIPMC_Protocol_Factory and TAO_MIOP_Res…
Browse files Browse the repository at this point in the history
…ource_Factory
  • Loading branch information
nickwilliams-zaxiom committed Sep 8, 2023
1 parent 828dfeb commit 65566a4
Showing 1 changed file with 27 additions and 27 deletions.
54 changes: 27 additions & 27 deletions TAO/docs/Options.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ <h3>Table of Contents</h3>
<li><a href="#TARF">TAO_Advanced_Resource_Factory </a></li>
</ol>
</li>
<li><a href="#TSSF">Server_Strategy_Factory </a> </li>
<li><a href="#TCSF">Client_Strategy_Factory </a></li>
<li><a href="#TUPF">TAO_UIPMC_Protocol_Factory </a></li>
<li><a href="#TMSF">MIOP_Strategy_Factory </a></li>
<li><a href="#TSSF">Server_Strategy_Factory</a> </li>
<li><a href="#TCSF">Client_Strategy_Factory</a></li>
<li><a href="#TUPF">TAO_UIPMC_Protocol_Factory</a></li>
<li><a href="#TMSF">TAO_MIOP_Resource_Factory</a></li>
<li><a href="#TTSM">Time_Policy_Manager</a></li>
</ol>
</li>
Expand Down Expand Up @@ -1834,10 +1834,10 @@ <h4><a name="TCSF">3. Client_Strategy_Factory</a></h4>
</blockquote>
<h4><a name="TUPF">4. TAO_UIPMC_Protocol_Factory</a></h4>
This factory is located in the <code>TAO_PortableGroup</code> library and
is used with the DIOP and MIOP protocols managing the UDP connectionless
sockets (normally one-way calls only) instead of the standard IIOP TCP/IP
two-way connection based sockets. It accepts the options shown below.
(Any options required should be given
implements the MIOP protocol. It uses the
<a href="TMSF">TAO_MIOP_Resource_Factory</a> to manage UDP connection options
shared with the TAO_DIOP_Protocol_Factory. It accepts its own un-shared
options shown below. (Any options required should be given
to the TAO_UIPMC_Protocol_Factory between the two double-quotes at the end
of the line as a space separated list; however none are required as all
options take default values if not specified.) This factory can be loaded
Expand Down Expand Up @@ -1909,15 +1909,15 @@ <h4><a name="TUPF">4. TAO_UIPMC_Protocol_Factory</a></h4>
</tbody>
</table>
</blockquote>
<h4><a name="TMSF">5. MIOP_Strategy_Factory</a></h4>
<h4><a name="TMSF">5. TAO_MIOP_Resource_Factory</a></h4>
This factory is located in the <code>TAO_PortableGroup</code> library and
uses the <a href="#TUPF">TAO_UIPMC_Protocol_Factory</a> (see above) to
manage its UDP sockets, you should also look at that factories configuration
options. The MIOP factory accepts it own options detailed below which
should be specified between the two double-quotes shown here as a space
separated list; however none are required as all options take default
values if not specified. This factory can be loaded dynamically using a
service configurator directive of the form (all on one line):
manages UDP connection options shared between the TAO_DIOP_Protocol_Factory
and the <a href="TUPF">TAO_UIPMC_Protocol_Factory</a> (see above). It
accepts the options detailed below, which should be specified between the
two double-quotes shown here as a space-separated list; however none are
required as all options take default values if not specified. This factory
can be loaded dynamically using a service configurator directive of the
form (all on one line):
<p><code>dynamic MIOP_Resource_Factory Service_Object *
TAO_PortableGroup:_make_TAO_MIOP_Resource_Factory () ""</code></p>
You would normally have to use other service configurator
Expand All @@ -1930,17 +1930,17 @@ <h4><a name="TMSF">5. MIOP_Strategy_Factory</a></h4>
TAO_PortableGroup:_make_TAO_PortableGroup_Loader() ""<br>
dynamic MIOP_Resource_Factory Service_Object *
TAO_PortableGroup:_make_TAO_MIOP_Resource_Factory () ""</code></p>
Since MIOP uses UDP sockets (which is not a "reliable" transport unlike tcp/ip)
it is easy to configure MIOP in such a way that messages will not actually
reach the servant. The options below are intended to maximize MIOP reliability
but they must be used with care; users of MIOP must understand that large
messages are sent in fragments and they have to be reassembled by the server in
their entirety to be usable by the servant. If even a single data
fragment/packet is lost, the whole message cannot be reconstructed and will be
unusable. There is no way for the servant to even know it has missed such a
MIOP message, and being a one-way protocol, neither will the client be aware
that the message has been lost. Fragments can be lost due to a variety of
reasons:
Since DIOP and MIOP use UDP sockets (which is not a "reliable" transport unlike
TCP/IP), it is easy to configure them in such a way that messages will not
actually reach the servant. The options below are intended to maximize DIOP and
MIOP reliability, but they must be used with care; users of DIOP and MIOP must
understand that large messages are sent in fragments and they have to be
reassembled by the server in their entirety to be usable by the servant. If
even a single data fragment/packet is lost, the whole message cannot be
reconstructed and will be unusable. There is no way for the servant to even
know it has missed such a DIOP or MIOP message, and being a one-way protocol,
neither will the client be aware that the message has been lost. Fragments
can be lost due to a variety of reasons:
<p></p>
<ul>
<li>
Expand Down

0 comments on commit 65566a4

Please sign in to comment.