summaryrefslogtreecommitdiff
path: root/TAO/examples/PluggableUDP/DIOP/README
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/examples/PluggableUDP/DIOP/README')
-rw-r--r--TAO/examples/PluggableUDP/DIOP/README110
1 files changed, 0 insertions, 110 deletions
diff --git a/TAO/examples/PluggableUDP/DIOP/README b/TAO/examples/PluggableUDP/DIOP/README
deleted file mode 100644
index 3f00555185c..00000000000
--- a/TAO/examples/PluggableUDP/DIOP/README
+++ /dev/null
@@ -1,110 +0,0 @@
-DIOP - UDP Based Pluggable Protocol
-===================================
-
-This directory contains all of the code needed to use the UDP
-Pluggable Protocol (DIOP). It should be considered a work in progress
-and will eventually be integrated in with the other standard pluggable
-protocols in tao/Strategies.
-
-Notes on the DIOP implementation:
-
-- The DIOP implemenation uses unconnected UDP sockets.
-
-- The server side implementation bypasses the actual TAO acceptor
- and opens always a UDP socket on start-up.
-
-- The address of that UDP socket can be configured via
- e.g. -ORBEndpoint diop://:1303
-
- If nothing is specified, the implementation will select a port
- and open a socket on all network interfaces.
- (This is the default ORB behavior and can be overwritten using
- the -ORBEndpoint switch)
-
-- Because no connections - no state - exist, all client requests
- from different clients arrive at the same socket!
-
-- The client side DIOP implementation bypasses the actual
- TAO connector. It installs a connection handler on the first
- invocation on a remote CORBA object.
-
-
-DIOP Installation:
-
-- Compile TAO/examples/PluggableUDP/DIOP to create the DIOP library.
-
-- Uncomment the following line in TAO/tao/corbafwd.h:
-
- #define TAO_TAG_UDP_PROFILE 0x54414f04U /* UDP */
-
-- The application using DIOP should have a svc.conf file with the
- following entry:
-
- dynamic DIOP_Factory Service_Object * TAO_DIOP:_make_TAO_DIOP_Protocol_Factory() ""
- static Resource_Factory "-ORBProtocolFactory DIOP_Factory"
-
-
-Issues:
-
-- Optimization of DIOP_Transport::{send,recv}
-
-- Default port is the same on client and server, therefore
- the client ports need to be explicitly set by -ORBEndpoint option.
- Maybe there is a way to find free ports?
-
-- Remove commented out code from DIOP_* files.
-
-Limitations:
-
-- No preconnections are supported.
-
-- Only single threaded servers are supported as we cache parts of a UDP
- packet. If we would allow multiple threads this buffer could be corrupted.
-
-- No thread-per connection is supported.
-
-- Requests from multiple clients are received on the same socket.
-
-
-Disclaimer:
-
- This UDP Pluggable Protocol has been developed for Siemens base station
- software. We assumed certain requriements, which do not fit everybody, so
- be careful applying this pluggable protocol to your application.
-
- The assumptions we had:
-
- - Almost 100% reliable UDP communication as we use IP over ATM
-
- (Even if it would be less reliable you can manage it by using one-way
- request operations and one-way response operations in combination with
- application level timeouts.)
-
- - TCP got ruled out as it behaves to sluggish on sudden disconnections, we
- needed to be able to plug & play CPU cards without impacting any ORB
- communicating to that CPU.
-
- (This is the main reason why we do not keep any state in the client side
- of the Pluggable Protocol)
-
- - As we use a special hardware configuration we defined that every GIOP message
- (and therefore every IDL signature) message is shorter than 4kB, which is the
- maximum length of a UDP packet anyway.
-
- (Support for fragmentation, as GIOP 1.2 supports it might help, this is
- a future option)
-
-
-Appendix:
-
- The client understands the following options:
- -d
- -k <ior>
- -t <timeout in ms>
- -i <iterations>
-
-Comments, Suggestions, or Feedback:
-
- mailto:Michael.Kircher@mchp.siemens.de or,
- mailto:John.Mackenzie.extern@icn.siemens.de or,
- mailto:fhunleth@cs.wustl.edu