Package org.eclipse.jetty.io
Class SocketChannelEndPoint
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:
Closeable
,AutoCloseable
,EndPoint
,ManagedSelector.Selectable
- Direct Known Subclasses:
NetworkTrafficSocketChannelEndPoint
,UnixSocketEndPoint
An EndPoint
implementation based on SocketChannel
.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.jetty.io.EndPoint
EndPoint.Wrapper
-
Constructor Summary
ConstructorDescriptionSocketChannelEndPoint
(SocketChannel channel, ManagedSelector selector, SelectionKey key, Scheduler scheduler) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
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.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 Details
-
SocketChannelEndPoint
public SocketChannelEndPoint(SocketChannel channel, ManagedSelector selector, SelectionKey key, Scheduler scheduler)
-
-
Method Details
-
getChannel
- Overrides:
getChannel
in classSelectableChannelEndPoint
-
getRemoteSocketAddress
- Specified by:
getRemoteSocketAddress
in interfaceEndPoint
- Overrides:
getRemoteSocketAddress
in classAbstractEndPoint
- Returns:
- The remote SocketAddress to which this
EndPoint
is connected, ornull
if thisEndPoint
is not connected to a Socket address.
-
doShutdownOutput
protected void doShutdownOutput()- Overrides:
doShutdownOutput
in classAbstractEndPoint
-
fill
Description copied from interface:EndPoint
Fill 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
int
value indicating the number of bytes filled or -1 if EOF is read or the input is shutdown. - Throws:
IOException
- if the endpoint is closed.
-
flush
Description copied from interface:EndPoint
Flush 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:
IOException
- If the endpoint is closed or output is shutdown.
-