Author: mheath
Date: Tue Jan 30 20:48:44 2007
New Revision: 501725

URL: http://svn.apache.org/viewvc?view=rev&rev=501725
Log:
Added files for site creation.

Added:
    mina/sandbox/mheath/aioj/trunk/src/site/xdoc/
    mina/sandbox/mheath/aioj/trunk/src/site/xdoc/usage.xml

Added: mina/sandbox/mheath/aioj/trunk/src/site/xdoc/usage.xml
URL: 
http://svn.apache.org/viewvc/mina/sandbox/mheath/aioj/trunk/src/site/xdoc/usage.xml?view=auto&rev=501725
==============================================================================
--- mina/sandbox/mheath/aioj/trunk/src/site/xdoc/usage.xml (added)
+++ mina/sandbox/mheath/aioj/trunk/src/site/xdoc/usage.xml Tue Jan 30 20:48:44 
2007
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<document>
+       <properties>
+               <author>Mike Heath</author>
+               <title>Asynchronous File I/O in Java Usage</title>
+       </properties>
+       <body>
+               <section name="Open a file">
+               <p>All file operations are done asynchronously, including file 
opens.  The following code is an example of how
+               to open a file:</p>
+               <source><![CDATA[
+        File testFile = new File("fileName");
+        AioFuture<AsynchronousFileChannel> future = 
AsynchronousFileChannelFactory.open(testFile, Modes.READ_ONLY);
+        AsynchronousFileChannel channel = future.get();
+               ]]></source>
+               <p>The AsynchronousFileChannel class is very similar to 
java.nio.FileChannel.  All the operations available to
+               java.nio.FileChannel can be done with AsynchronousFileChannel.  
The difference is that all the methods in
+               AsynchronousFileChannel do not block and return an AioFuture 
handle the represents the pending I/O operation.
+               AioFuture implements java.util.concurrent.Future.  
Additionally, AioFuture provides support for regestering
+               callbacks.  A callback is an implementation of the 
AioCompletionHandler interface.  When the operation
+               represented by an AioFuture completes, all the callbacks 
registered with the AioFutre are invoked.</p>
+               </section>
+               <section name="Reading data from a file">
+               To read data from a file, use the following example.
+               <source><![CDATA[
+        AioFuture<Integer> readFuture = channel.read(buffer, 0);
+        readFuture.addCompletionHandler(new AioCompletionHandler<Integer>() {
+            public void onCompletion(AioFuture<Integer> future) {
+                ByteBufferFuture byteBufferFuture = (ByteBufferFuture)future;
+                ByteBuffer buffer = byteBufferFuture.getByteBuffer();
+                
+                // Do something with the ByteBuffer
+            }
+        });
+               ]]></source>
+               </section>
+       </body>
+</document>
\ No newline at end of file


Reply via email to