- java.lang.Object
-
- org.eclipse.jetty.io.IdleTimeout
-
- org.eclipse.jetty.io.AbstractEndPoint
-
- org.eclipse.jetty.io.SelectableChannelEndPoint
-
- org.eclipse.jetty.io.SocketChannelEndPoint
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,EndPoint,ManagedSelector.Selectable
- Direct Known Subclasses:
NetworkTrafficSocketChannelEndPoint
public class SocketChannelEndPoint extends SelectableChannelEndPoint
An
EndPointimplementation based onSocketChannel.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.io.EndPoint
EndPoint.Wrapper
-
-
Constructor Summary
Constructors Constructor Description SocketChannelEndPoint(java.nio.channels.SocketChannel channel, ManagedSelector selector, java.nio.channels.SelectionKey key, org.eclipse.jetty.util.thread.Scheduler scheduler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoShutdownOutput()intfill(java.nio.ByteBuffer buffer)Fill the passed buffer with data from this endpoint.booleanflush(java.nio.ByteBuffer... buffers)Flush data from the passed header/buffer to this endpoint.java.nio.channels.SocketChannelgetChannel()java.net.SocketAddressgetRemoteSocketAddress()-
Methods inherited from class org.eclipse.jetty.io.SelectableChannelEndPoint
doClose, getLocalSocketAddress, getTransport, isOpen, needsFillInterest, onClose, onIncompleteFlush, onSelected, replaceKey, toEndPointString, updateKey
-
Methods inherited from class org.eclipse.jetty.io.AbstractEndPoint
close, close, doShutdownInput, fillInterested, getConnection, getCreatedTimeStamp, getFillInterest, getLocalAddress, getRemoteAddress, getWriteFlusher, isFillInterested, isInputShutdown, isOutputShutdown, onClose, onIdleExpired, onOpen, reset, setConnection, shutdownInput, shutdownOutput, toConnectionString, toString, tryFillInterested, upgrade, write
-
Methods inherited from class org.eclipse.jetty.io.IdleTimeout
checkIdleTimeout, getIdleFor, getIdleTimeout, getScheduler, notIdle, setIdleTimeout
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.jetty.io.EndPoint
getIdleTimeout, setIdleTimeout
-
-
-
-
Constructor Detail
-
SocketChannelEndPoint
public SocketChannelEndPoint(java.nio.channels.SocketChannel channel, ManagedSelector selector, java.nio.channels.SelectionKey key, org.eclipse.jetty.util.thread.Scheduler scheduler)
-
-
Method Detail
-
getChannel
public java.nio.channels.SocketChannel getChannel()
- Overrides:
getChannelin classSelectableChannelEndPoint
-
getRemoteSocketAddress
public java.net.SocketAddress getRemoteSocketAddress()
- Specified by:
getRemoteSocketAddressin interfaceEndPoint- Overrides:
getRemoteSocketAddressin classAbstractEndPoint- Returns:
- The remote SocketAddress to which this
EndPointis connected, ornullif thisEndPointis not connected to a Socket address.
-
doShutdownOutput
protected void doShutdownOutput()
- Overrides:
doShutdownOutputin classAbstractEndPoint
-
fill
public int fill(java.nio.ByteBuffer buffer) throws java.io.IOExceptionDescription copied from interface:EndPointFill the passed buffer with data from this endpoint. The bytes are appended to any data already in the buffer by writing from the buffers limit up to it's capacity. The limit is updated to include the filled bytes.- Parameters:
buffer- 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.- Returns:
- an
intvalue indicating the number of bytes filled or -1 if EOF is read or the input is shutdown. - Throws:
java.io.IOException- if the endpoint is closed.
-
flush
public boolean flush(java.nio.ByteBuffer... buffers) throws java.io.IOExceptionDescription copied from interface:EndPointFlush data from the passed header/buffer to this endpoint. As many bytes as can be consumed are taken from the header/buffer position up until the buffer limit. The header/buffers position is updated to indicate how many bytes have been consumed.- Parameters:
buffers- the buffers to flush- Returns:
- True IFF all the buffers have been consumed and the endpoint has flushed the data to its destination (ie is not buffering any data).
- Throws:
java.io.IOException- If the endpoint is closed or output is shutdown.
-
-