org.apache.tomcat.util.net
public class NioBlockingSelector extends Object
Nested Class Summary | |
---|---|
protected class | NioBlockingSelector.BlockPoller |
class | NioBlockingSelector.KeyReference |
Field Summary | |
---|---|
protected static Log | log |
protected NioBlockingSelector.BlockPoller | poller |
protected Selector | sharedSelector |
Constructor Summary | |
---|---|
NioBlockingSelector() |
Method Summary | |
---|---|
void | close() |
void | open(Selector selector) |
int | read(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(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. |
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: EOFException if read returns -1 SocketTimeoutException if the read times out IOException if an IO Exception occurs in the underlying socket logic
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: EOFException if write returns -1 SocketTimeoutException if the write times out IOException if an IO Exception occurs in the underlying socket logic