- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.util.component.ContainerLifeCycle
-
- org.eclipse.jetty.io.ManagedSelector
-
- All Implemented Interfaces:
org.eclipse.jetty.util.component.Container,org.eclipse.jetty.util.component.Destroyable,org.eclipse.jetty.util.component.Dumpable,org.eclipse.jetty.util.component.LifeCycle
public class ManagedSelector extends org.eclipse.jetty.util.component.ContainerLifeCycle implements org.eclipse.jetty.util.component.DumpableManagedSelectorwraps aSelectorsimplifying non-blocking operations on channels.ManagedSelectorruns the select loop, which waits onSelector.select()until events happen for registered channels. When events happen, it notifies theEndPointassociated with the channel.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceManagedSelector.SelectableAManagedSelector.Selectableis anEndPointthat wish to be notified of non-blocking events by theManagedSelector.static interfaceManagedSelector.SelectorUpdateA selector update to be done when the selector has been woken.-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener, org.eclipse.jetty.util.component.AbstractLifeCycle.StopException
-
-
Constructor Summary
Constructors Constructor Description ManagedSelector(SelectorManager selectorManager, int id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoStart()protected voiddoStop()voiddump(java.lang.Appendable out, java.lang.String indent)protected voidendPointClosed(EndPoint endPoint)protected voidendPointOpened(EndPoint endPoint)java.nio.channels.SelectorgetSelector()protected voidhandleSelectFailure(java.nio.channels.Selector selector, java.lang.Throwable failure)protected intnioSelect(java.nio.channels.Selector selector, boolean now)protected voidonSelectFailed(java.lang.Throwable cause)protected intselect(java.nio.channels.Selector selector)intsize()voidsubmit(ManagedSelector.SelectorUpdate update)Submit anManagedSelector.SelectorUpdateto be acted on between calls toSelector.select()java.lang.StringtoString()-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
ManagedSelector
public ManagedSelector(SelectorManager selectorManager, int id)
-
-
Method Detail
-
getSelector
public java.nio.channels.Selector getSelector()
-
doStart
protected void doStart() throws java.lang.Exception- Overrides:
doStartin classorg.eclipse.jetty.util.component.ContainerLifeCycle- Throws:
java.lang.Exception
-
doStop
protected void doStop() throws java.lang.Exception- Overrides:
doStopin classorg.eclipse.jetty.util.component.ContainerLifeCycle- Throws:
java.lang.Exception
-
nioSelect
protected int nioSelect(java.nio.channels.Selector selector, boolean now) throws java.io.IOException- Throws:
java.io.IOException
-
select
protected int select(java.nio.channels.Selector selector) throws java.io.IOException- Throws:
java.io.IOException
-
handleSelectFailure
protected void handleSelectFailure(java.nio.channels.Selector selector, java.lang.Throwable failure) throws java.io.IOException- Throws:
java.io.IOException
-
onSelectFailed
protected void onSelectFailed(java.lang.Throwable cause)
-
size
public int size()
-
submit
public void submit(ManagedSelector.SelectorUpdate update)
Submit anManagedSelector.SelectorUpdateto be acted on between calls toSelector.select()- Parameters:
update- The selector update to apply at next wakeup
-
endPointOpened
protected void endPointOpened(EndPoint endPoint)
-
endPointClosed
protected void endPointClosed(EndPoint endPoint)
-
dump
public void dump(java.lang.Appendable out, java.lang.String indent) throws java.io.IOException- Specified by:
dumpin interfaceorg.eclipse.jetty.util.component.Dumpable- Overrides:
dumpin classorg.eclipse.jetty.util.component.ContainerLifeCycle- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classorg.eclipse.jetty.util.component.AbstractLifeCycle
-
-