Apache Tomcat 6.0.43

org.apache.tomcat.util.net
Class NioBlockingSelector

java.lang.Object
  extended by org.apache.tomcat.util.net.NioBlockingSelector

public class NioBlockingSelector
extends java.lang.Object


Nested Class Summary
protected  class NioBlockingSelector.BlockPoller
           
 class NioBlockingSelector.KeyReference
           
 
Field Summary
protected static Log log
           
protected  NioBlockingSelector.BlockPoller poller
           
protected  java.nio.channels.Selector sharedSelector
           
 
Constructor Summary
NioBlockingSelector()
           
 
Method Summary
 void close()
           
 void open(java.nio.channels.Selector selector)
           
 int read(java.nio.ByteBuffer buf, NioChannel socket, long readTimeout)
          Performs a blocking read using the bytebuffer for data to be read If the selector parameter is null, then it will perform a busy read that could take up a lot of CPU cycles.
 int write(java.nio.ByteBuffer buf, NioChannel socket, long writeTimeout, MutableInteger lastWrite)
          Performs a blocking write using the bytebuffer for data to be written If the selector parameter is null, then it will perform a busy write that could take up a lot of CPU cycles.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static Log log

sharedSelector

protected java.nio.channels.Selector sharedSelector

poller

protected NioBlockingSelector.BlockPoller poller
Constructor Detail

NioBlockingSelector

public NioBlockingSelector()
Method Detail

open

public void open(java.nio.channels.Selector selector)

close

public void close()

write

public int write(java.nio.ByteBuffer buf,
                 NioChannel socket,
                 long writeTimeout,
                 MutableInteger lastWrite)
          throws java.io.IOException
Performs a blocking write using the bytebuffer for data to be written If the selector parameter is null, then it will perform a busy write that could take up a lot of CPU cycles.

Parameters:
buf - ByteBuffer - the buffer containing the data, we will write as long as (buf.hasRemaining()==true)
socket - SocketChannel - the socket to write data to
writeTimeout - long - the timeout for this write operation in milliseconds, -1 means no timeout
Returns:
int - returns the number of bytes written
Throws:
java.io.EOFException - if write returns -1
java.net.SocketTimeoutException - if the write times out
java.io.IOException - if an IO Exception occurs in the underlying socket logic

read

public int read(java.nio.ByteBuffer buf,
                NioChannel socket,
                long readTimeout)
         throws java.io.IOException
Performs a blocking read using the bytebuffer for data to be read If the selector parameter is null, then it will perform a busy read that could take up a lot of CPU cycles.

Parameters:
buf - ByteBuffer - the buffer containing the data, we will read as until we have read at least one byte or we timed out
socket - SocketChannel - the socket to write data to
readTimeout - long - the timeout for this read operation in milliseconds, -1 means no timeout
Returns:
int - returns the number of bytes read
Throws:
java.io.EOFException - if read returns -1
java.net.SocketTimeoutException - if the read times out
java.io.IOException - if an IO Exception occurs in the underlying socket logic

Apache Tomcat 6.0.43

Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.