A selectable (java.nio.channels.SelectableChannel) NIO converter for Input/OutputStreams. An example use of this would be to use NIO with SSL (which is not possible out of the box under JDK 1.4). This is intended to be boiler-plate code or code that is integrated directly into your project and not a library (hence there is no ANT build). This may change in the future if there is interest. Refer to com.realityinteractive.nio.io.ConvertedIOClientSmokeTest.java in the "test-java" directory for an example use of the converter. There are a number of useful tests in test-java regarding pipes, InputStream's / OutputStream's and client / servers. Also provided are: - Example NIO, standard IO and converted IO echo servers with associated clients: - IOClient - ConvertedIOClient - IOEchoServer - ConvertedIOEchoServer - ConvertedIOSelectorEchoServer - NIOClient - NIOEchoServer - A factory abstraction for java.net.Socket / java.net.ServerSocket and javax.net.ssl.SSLSocket / javax.net.ssl.SSLServerSocket to simplify using SSL and "plain" (non-SSL) sockets in an application. - A simple Service structure to simplify server creation. A simple adapter can be employed to use the above services with suitable containers (such as JBOSS). Release Notes ============= o Only log4j is used in the runtime code. o Doug Lea's concurrent library and JUnit is used for testing. o This source is inteneded to be included in a project rather than building it as a jar. This may be changed in the future if there is a desire. o Refer to the "developer.txt" files scattered throughout the source for more information and current code status. o Some performance numbers can be found at: http://www.realityinteractive.com/rgrzywinski/archives/000096.html http://www.realityinteractive.com/rgrzywinski/archives/000097.html o From 1.0.0 -> 1.1.0 - Added standard IO client and server. - Replaced misunderstanding about blocking IO in InputStreamConverter. This had an appreciable effect on performance. - Some refactoring to simplify creation of the IO client and server. Contact ======= You may contact me (Rob Grzywinski) if you have a question at either: rgrzywinski@realityinteractive.com or you may place a posting on the blog entry: http://www.realityinteractive.com/rgrzywinski/archives/000091.html and I will get back to you as soon as possible. See the license for support and warranty conditions. License ======= o This software is available under the LGPL. See license/LICENSE.txt for more information. o This software is provided as is, without support or warranty of any kind. See the license for more information.