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

Reply via email to