org.jruby.util.io
Class BlockingIO

java.lang.Object
  extended by org.jruby.util.io.BlockingIO

public class BlockingIO
extends java.lang.Object

A Utility class to emulate blocking I/O operations on non-blocking channels.


Nested Class Summary
static class BlockingIO.Condition
           
 
Constructor Summary
BlockingIO()
           
 
Method Summary
static void awaitReadable(java.nio.channels.ReadableByteChannel channel)
           
static void awaitWritable(java.nio.channels.WritableByteChannel channel)
           
static int blockingRead(java.nio.channels.ReadableByteChannel channel, java.nio.ByteBuffer buf)
           
static int blockingWrite(java.nio.channels.WritableByteChannel channel, java.nio.ByteBuffer buf)
           
static BlockingIO.Condition newCondition(java.nio.channels.Channel channel, int ops)
           
static BlockingIO.Condition newCondition(java.nio.channels.Channel channel, int ops, java.lang.Object monitor)
           
static int read(java.nio.channels.ReadableByteChannel channel, java.nio.ByteBuffer buf, boolean blocking)
           
static void waitForIO(java.nio.channels.Channel channel, int op)
           
static int write(java.nio.channels.WritableByteChannel channel, java.nio.ByteBuffer buf, boolean blocking)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BlockingIO

public BlockingIO()
Method Detail

newCondition

public static final BlockingIO.Condition newCondition(java.nio.channels.Channel channel,
                                                      int ops,
                                                      java.lang.Object monitor)
                                               throws java.io.IOException
Throws:
java.io.IOException

newCondition

public static final BlockingIO.Condition newCondition(java.nio.channels.Channel channel,
                                                      int ops)
                                               throws java.io.IOException
Throws:
java.io.IOException

waitForIO

public static void waitForIO(java.nio.channels.Channel channel,
                             int op)
                      throws java.lang.InterruptedException,
                             java.io.IOException
Throws:
java.lang.InterruptedException
java.io.IOException

awaitReadable

public static void awaitReadable(java.nio.channels.ReadableByteChannel channel)
                          throws java.lang.InterruptedException,
                                 java.io.IOException
Throws:
java.lang.InterruptedException
java.io.IOException

awaitWritable

public static void awaitWritable(java.nio.channels.WritableByteChannel channel)
                          throws java.lang.InterruptedException,
                                 java.io.IOException
Throws:
java.lang.InterruptedException
java.io.IOException

read

public static int read(java.nio.channels.ReadableByteChannel channel,
                       java.nio.ByteBuffer buf,
                       boolean blocking)
                throws java.io.IOException
Throws:
java.io.IOException

write

public static int write(java.nio.channels.WritableByteChannel channel,
                        java.nio.ByteBuffer buf,
                        boolean blocking)
                 throws java.io.IOException
Throws:
java.io.IOException

blockingRead

public static int blockingRead(java.nio.channels.ReadableByteChannel channel,
                               java.nio.ByteBuffer buf)
                        throws java.io.IOException
Throws:
java.io.IOException

blockingWrite

public static int blockingWrite(java.nio.channels.WritableByteChannel channel,
                                java.nio.ByteBuffer buf)
                         throws java.io.IOException
Throws:
java.io.IOException


Copyright © 2002-2007 JRuby Team. All Rights Reserved.