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
|