summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/PortableGroup/README
blob: 7faf4cd6e46e084b1e7ddd177adaf6b9b87727da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
$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.  MIOP packet reassembly.  This limits requests to about 5-6K in length
      depending on the platform.  Miop packet segmentation is available,
      but not completely tested.

  2.  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.

  3.  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)

  4.  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.

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