public class NioChannel
extends java.lang.Object
implements java.nio.channels.ByteChannel
| Modifier and Type | Field and Description |
|---|---|
protected SocketBufferHandler |
bufHandler |
protected static java.nio.ByteBuffer |
emptyBuf |
protected NioEndpoint.Poller |
poller |
protected java.nio.channels.SocketChannel |
sc |
protected static StringManager |
sm |
protected SocketWrapperBase<NioChannel> |
socketWrapper |
| Constructor and Description |
|---|
NioChannel(java.nio.channels.SocketChannel channel,
SocketBufferHandler bufHandler) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkInterruptStatus()
This method should be used to check the interrupt status before
attempting a write.
|
void |
close()
Closes this channel.
|
void |
close(boolean force)
Close the connection.
|
boolean |
flush(boolean block,
java.nio.channels.Selector s,
long timeout)
Returns true if the network buffer has been flushed out and is empty.
|
boolean |
flushOutbound()
Return true if the buffer wrote data.
|
void |
free()
Free the channel memory
|
protected ApplicationBufferHandler |
getAppReadBufHandler() |
java.lang.Object |
getAttachment() |
SocketBufferHandler |
getBufHandler() |
java.nio.channels.SocketChannel |
getIOChannel() |
int |
getOutboundRemaining() |
NioEndpoint.Poller |
getPoller() |
int |
handshake(boolean read,
boolean write)
Performs SSL handshake hence is a no-op for the non-secure
implementation.
|
boolean |
isClosing() |
boolean |
isHandshakeComplete() |
boolean |
isOpen()
Tells whether or not this channel is open.
|
int |
read(java.nio.ByteBuffer dst)
Reads a sequence of bytes from this channel into the given buffer.
|
void |
reset()
Reset the channel
|
void |
setAppReadBufHandler(ApplicationBufferHandler handler) |
void |
setIOChannel(java.nio.channels.SocketChannel IOChannel) |
void |
setPoller(NioEndpoint.Poller poller) |
java.lang.String |
toString() |
int |
write(java.nio.ByteBuffer src)
Writes a sequence of bytes to this channel from the given buffer.
|
protected static final StringManager sm
protected static final java.nio.ByteBuffer emptyBuf
protected java.nio.channels.SocketChannel sc
protected SocketWrapperBase<NioChannel> socketWrapper
protected final SocketBufferHandler bufHandler
protected NioEndpoint.Poller poller
public NioChannel(java.nio.channels.SocketChannel channel,
SocketBufferHandler bufHandler)
public void reset()
throws java.io.IOException
java.io.IOException - If a problem was encountered resetting the channelpublic void free()
public boolean flush(boolean block,
java.nio.channels.Selector s,
long timeout)
throws java.io.IOException
block - Unused. May be used when overriddens - Unused. May be used when overriddentimeout - Unused. May be used when overriddentrue since there is no network buffer
in the regular channeljava.io.IOException - Never for non-secure channelpublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in interface java.nio.channels.Channeljava.io.IOException - If an I/O error occurspublic void close(boolean force)
throws java.io.IOException
force - Should the underlying socket be forcibly closed?java.io.IOException - If closing the secure channel fails.public boolean isOpen()
isOpen in interface java.nio.channels.Channelpublic int write(java.nio.ByteBuffer src)
throws java.io.IOException
write in interface java.nio.channels.WritableByteChannelsrc - The buffer from which bytes are to be retrievedjava.io.IOException - If some other I/O error occurspublic int read(java.nio.ByteBuffer dst)
throws java.io.IOException
read in interface java.nio.channels.ReadableByteChanneldst - The buffer into which bytes are to be transferredjava.io.IOException - If some other I/O error occurspublic java.lang.Object getAttachment()
public SocketBufferHandler getBufHandler()
public NioEndpoint.Poller getPoller()
public java.nio.channels.SocketChannel getIOChannel()
public boolean isClosing()
public boolean isHandshakeComplete()
public int handshake(boolean read,
boolean write)
throws java.io.IOException
read - Unused in non-secure implementationwrite - Unused in non-secure implementationjava.io.IOException - Never for non-secure channelpublic void setPoller(NioEndpoint.Poller poller)
public void setIOChannel(java.nio.channels.SocketChannel IOChannel)
public java.lang.String toString()
toString in class java.lang.Objectpublic int getOutboundRemaining()
public boolean flushOutbound()
throws java.io.IOException
false for non-secure channeljava.io.IOException - Never for non-secure channelprotected void checkInterruptStatus()
throws java.io.IOException
java.io.IOException - If the current thread was interruptedpublic void setAppReadBufHandler(ApplicationBufferHandler handler)
protected ApplicationBufferHandler getAppReadBufHandler()
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.