org.apache.tomcat.util.net
Class NioBlockingSelector
java.lang.Object
org.apache.tomcat.util.net.NioBlockingSelector
public class NioBlockingSelector
- extends java.lang.Object
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 |
log
protected static Log log
sharedSelector
protected java.nio.channels.Selector sharedSelector
poller
protected NioBlockingSelector.BlockPoller poller
NioBlockingSelector
public NioBlockingSelector()
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 towriteTimeout
- 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 outsocket
- SocketChannel - the socket to write data toreadTimeout
- 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
Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.