public class ChannelEndPoint extends AbstractEndPoint
Holds the channel and socket for an NIO endpoint.
| Constructor and Description |
|---|
ChannelEndPoint(Scheduler scheduler,
SocketChannel channel) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close any backing stream associated with the endpoint
|
int |
fill(ByteBuffer buffer)
Fill the passed buffer with data from this endpoint.
|
boolean |
flush(ByteBuffer... buffers)
Flush data from the passed header/buffer to this endpoint.
|
ByteChannel |
getChannel() |
Socket |
getSocket() |
Object |
getTransport() |
boolean |
isInputShutdown()
Test if the input is shutdown.
|
boolean |
isOpen()
This abstract method should be called to check if idle timeouts
should still be checked.
|
boolean |
isOutputShutdown()
Test if output is shutdown.
|
protected boolean |
needsFill() |
protected void |
onIncompleteFlush() |
protected void |
shutdownInput() |
void |
shutdownOutput()
Shutdown the output.
|
fillInterested, getConnection, getCreatedTimeStamp, getFillInterest, getLocalAddress, getRemoteAddress, getWriteFlusher, onClose, onIdleExpired, onOpen, setConnection, toString, writecheckIdleTimeout, getIdleTimeout, getIdleTimestamp, notIdle, setIdleTimeoutclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetIdleTimeout, setIdleTimeoutpublic ChannelEndPoint(Scheduler scheduler, SocketChannel channel)
public boolean isOpen()
IdleTimeoutisOpen in interface EndPointisOpen in class IdleTimeoutprotected void shutdownInput()
public void shutdownOutput()
EndPointThis call indicates that no more data will be sent on this endpoint that that the remote end should read an EOF once all previously sent data has been consumed. Shutdown may be done either at the TCP/IP level, as a protocol exchange (Eg TLS close handshake) or both.
If the endpoint has EndPoint.isInputShutdown() true, then this call has the same effect
as EndPoint.close().
public boolean isOutputShutdown()
EndPointEndPoint.shutdownOutput()
or EndPoint.close().public boolean isInputShutdown()
EndPointEndPoint.fill(ByteBuffer). Once the input is shutdown, all calls to
EndPoint.fill(ByteBuffer) will return -1, until such time as the
end point is close, when they will return EofException.public void close()
EndPointclose in interface Closeableclose in interface AutoCloseableclose in interface EndPointclose in class AbstractEndPointpublic int fill(ByteBuffer buffer) throws IOException
EndPointbuffer - The buffer to fill. The position and limit are modified during the fill. After the
operation, the position is unchanged and the limit is increased to reflect the new data filled.int value indicating the number of bytes
filled or -1 if EOF is read or the input is shutdown.EofException - If the endpoint is closed.IOExceptionpublic boolean flush(ByteBuffer... buffers) throws IOException
EndPointEofException - If the endpoint is closed or output is shutdown.IOExceptionpublic ByteChannel getChannel()
public Object getTransport()
public Socket getSocket()
protected void onIncompleteFlush()
onIncompleteFlush in class AbstractEndPointprotected boolean needsFill()
throws IOException
needsFill in class AbstractEndPointIOExceptionCopyright © 1995-2015 Webtide. All Rights Reserved.