- java.lang.Object
-
- org.eclipse.jetty.io.IdleTimeout
-
- org.eclipse.jetty.io.AbstractEndPoint
-
- org.eclipse.jetty.io.SelectableChannelEndPoint
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,EndPoint,ManagedSelector.Selectable
- Direct Known Subclasses:
DatagramChannelEndPoint,SocketChannelEndPoint
public abstract class SelectableChannelEndPoint extends AbstractEndPoint implements ManagedSelector.Selectable
A partial
EndPointimplementation based onSelectableChannel.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.io.EndPoint
EndPoint.Wrapper
-
-
Constructor Summary
Constructors Constructor Description SelectableChannelEndPoint(org.eclipse.jetty.util.thread.Scheduler scheduler, java.nio.channels.SelectableChannel channel, ManagedSelector selector, java.nio.channels.SelectionKey selectionKey)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddoClose()java.nio.channels.SelectableChannelgetChannel()java.net.SocketAddressgetLocalSocketAddress()java.lang.ObjectgetTransport()booleanisOpen()This abstract method should be called to check if idle timeouts should still be checked.protected voidneedsFillInterest()voidonClose(java.lang.Throwable cause)Callback method invoked when thisEndPointis closed.protected voidonIncompleteFlush()java.lang.RunnableonSelected()Callback method invoked when a read or write events has been detected by theManagedSelectorfor this endpoint.voidreplaceKey(java.nio.channels.SelectionKey newKey)Callback method invoked when the SelectionKey is replaced because the channel has been moved to a new selector.java.lang.StringtoEndPointString()voidupdateKey()Callback method invoked when all the keys selected by theManagedSelectorfor this endpoint have been processed.-
Methods inherited from class org.eclipse.jetty.io.AbstractEndPoint
close, close, doShutdownInput, doShutdownOutput, fillInterested, getConnection, getCreatedTimeStamp, getFillInterest, getLocalAddress, getRemoteAddress, getRemoteSocketAddress, 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
fill, flush, getIdleTimeout, setIdleTimeout
-
-
-
-
Constructor Detail
-
SelectableChannelEndPoint
public SelectableChannelEndPoint(org.eclipse.jetty.util.thread.Scheduler scheduler, java.nio.channels.SelectableChannel channel, ManagedSelector selector, java.nio.channels.SelectionKey selectionKey)
-
-
Method Detail
-
getChannel
public java.nio.channels.SelectableChannel getChannel()
-
getTransport
public java.lang.Object getTransport()
- Specified by:
getTransportin interfaceEndPoint- Returns:
- The underlying transport object (socket, channel, etc.)
-
getLocalSocketAddress
public java.net.SocketAddress getLocalSocketAddress()
- Specified by:
getLocalSocketAddressin interfaceEndPoint- Overrides:
getLocalSocketAddressin classAbstractEndPoint- Returns:
- the local SocketAddress to which this
EndPointis bound ornullif thisEndPointis not bound to a Socket address.
-
isOpen
public boolean isOpen()
Description copied from class:IdleTimeoutThis abstract method should be called to check if idle timeouts should still be checked.- Specified by:
isOpenin interfaceEndPoint- Overrides:
isOpenin classAbstractEndPoint- Returns:
- True if the entity monitored should still be checked for idle timeouts
-
doClose
public void doClose()
- Overrides:
doClosein classAbstractEndPoint
-
onClose
public void onClose(java.lang.Throwable cause)
Description copied from interface:EndPointCallback method invoked when this
EndPointis closed.- Specified by:
onClosein interfaceEndPoint- Overrides:
onClosein classAbstractEndPoint- Parameters:
cause- The reason for the close, or null if a normal close.- See Also:
EndPoint.onOpen()
-
needsFillInterest
protected void needsFillInterest()
- Specified by:
needsFillInterestin classAbstractEndPoint
-
onIncompleteFlush
protected void onIncompleteFlush()
- Specified by:
onIncompleteFlushin classAbstractEndPoint
-
onSelected
public java.lang.Runnable onSelected()
Description copied from interface:ManagedSelector.SelectableCallback method invoked when a read or write events has been detected by theManagedSelectorfor this endpoint.- Specified by:
onSelectedin interfaceManagedSelector.Selectable- Returns:
- a job that may block or null
-
updateKey
public void updateKey()
Description copied from interface:ManagedSelector.SelectableCallback method invoked when all the keys selected by theManagedSelectorfor this endpoint have been processed.- Specified by:
updateKeyin interfaceManagedSelector.Selectable
-
replaceKey
public void replaceKey(java.nio.channels.SelectionKey newKey)
Description copied from interface:ManagedSelector.SelectableCallback method invoked when the SelectionKey is replaced because the channel has been moved to a new selector.- Specified by:
replaceKeyin interfaceManagedSelector.Selectable- Parameters:
newKey- the new SelectionKey
-
toEndPointString
public java.lang.String toEndPointString()
- Overrides:
toEndPointStringin classAbstractEndPoint
-
-