$Id$

This directory contains an implementation of the MIOP specification
for TAO.  This currently includes:

        .  The UIPMC (Unreliable IP multicast) Pluggable Protocol
        .  The PortableGroup extensions to the POA
        .  Request dispatch hooks to TAO to dispatch based on GroupID

For examples on how to use MIOP, see $TAO_ROOT/orbsvcs/tests/Miop.

Compilation Note:

The PortableGroup library requires the CosNaming library due to references
to it in the IDL from the MIOP specification.  It is not really used in
actual implementation.

Implementation Notes:

The current MIOP implementation is usable, but not complete according
to the final MIOP specification.  The following are current limitations:

  1.  Disassociating a group reference from a servant is not implemented.
      If interested in fixing this, be aware of the race conditions if a
      servant disassociates during an upcall.  The TAO event services all
      have code to handle this issue.

  2.  Clients must call _unchecked_narrow to narrow any group references
      since a multicast group manager isn't supported yet (and UIPMC does
      not support twoway invocations)

  3.  TAO does not have a multicast group manager, so groups must be
      assigned by creating a MIOP CORBALOC formatted reference.  See
      the tests or the MIOP specification for example group references.

  4.  TAO does not have a multicast gateway implementation, so using MIOP
      is currently limited to networks that natively support multicast
