NioBlockingSelector (Tomcat API Documentation)
Keywords: org.apache.tomcat.util.net.NioBlockingSelector class

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tomcat.util.net
Class NioBlockingSelector

    java.lang.Object
      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
    `selector` - Selector - the selector to use for blocking, if null then a busy read will be initiated
    `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

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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