Hi Bob / Andreas
Actually I added two new transports: one for UDP and one to read from
a UNIX pipe (aka named pipe, aka FIFO). The UDP transport indeed uses
a non blocking approach, but it is a datagram transport in the sense
that it reads the entire message into memory before starting to
process it. The pipe transport uses file I/O and is blocking (there is
no non blocking file I/O in Java). For various reasons it is actually
also built as a datagram transport, i.e. it doesn't support streaming.
Currently the only TCP transport implementation is the one from Axis2.
Neither the UDP and nor the pipe transport implementation is useful as
a starting point to build a TCP transport. Indeed, a good TCP
transport should be non blocking and support streaming. Implementing
this is a non trivial task as we learned from the problems with the
HTTP transport (SYNAPSE-321).
Andreas, I am sorry I was not following up in detail the changes on the
trunk due to the work on the release lately :)..
Bob, if you are willing to support the development of a new non-blocking
TCP transport, we could understand your requirements/expectations and
look into the possibilities for implementation.
asankha