Package org.eclipse.jetty.io
Class ManagedSelector
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.io.ManagedSelector
- All Implemented Interfaces:
Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,LifeCycle
ManagedSelector
wraps a Selector
simplifying non-blocking operations on channels.
ManagedSelector
runs the select loop, which waits on Selector.select()
until events
happen for registered channels. When events happen, it notifies the EndPoint
associated
with the channel.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
AManagedSelector.Selectable
is anEndPoint
that wish to be notified of non-blocking events by theManagedSelector
.static interface
A selector update to be done when the selector has been woken.Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopException
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
doStart()
Starts the managed lifecycle beans in the order they were added.protected void
doStop()
Stops the managed lifecycle beans in the reverse order they were added.void
dump
(Appendable out, String indent) Dump this object (and children) into an Appendable using the provided indent after any new lines.protected void
endPointClosed
(EndPoint endPoint) protected void
endPointOpened
(EndPoint endPoint) double
long
long
int
protected void
handleSelectFailure
(Selector selector, Throwable failure) protected int
protected void
onSelectFailed
(Throwable cause) void
protected int
int
size()
void
submit
(ManagedSelector.SelectorUpdate update) Submit anManagedSelector.SelectorUpdate
to be acted on between calls toSelector.select()
toString()
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, installBean, installBean, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, 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
Methods inherited from interface org.eclipse.jetty.util.component.Container
getCachedBeans, getEventListeners
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
Constructor Details
-
ManagedSelector
-
-
Method Details
-
getSelector
-
doStart
Description copied from class:ContainerLifeCycle
Starts the managed lifecycle beans in the order they were added.- Overrides:
doStart
in classContainerLifeCycle
- Throws:
AbstractLifeCycle.StopException
- If thrown, the lifecycle will immediately be stopped.Exception
- If there was a problem starting. Will cause a transition to FAILED state
-
doStop
Description copied from class:ContainerLifeCycle
Stops the managed lifecycle beans in the reverse order they were added.- Overrides:
doStop
in classContainerLifeCycle
- Throws:
Exception
- If there was a problem stopping. Will cause a transition to FAILED state
-
getTotalKeys
-
getAverageSelectedKeys
@ManagedAttribute(value="Average number of selected keys", readonly=true) public double getAverageSelectedKeys() -
getMaxSelectedKeys
@ManagedAttribute(value="Maximum number of selected keys", readonly=true) public long getMaxSelectedKeys() -
getSelectCount
@ManagedAttribute(value="Total number of select() calls", readonly=true) public long getSelectCount() -
resetStats
-
nioSelect
- Throws:
IOException
-
select
- Throws:
IOException
-
handleSelectFailure
- Throws:
IOException
-
onSelectFailed
-
size
public int size() -
submit
Submit anManagedSelector.SelectorUpdate
to be acted on between calls toSelector.select()
- Parameters:
update
- The selector update to apply at next wakeup
-
endPointOpened
-
endPointClosed
-
dump
Description copied from interface:Dumpable
Dump this object (and children) into an Appendable using the provided indent after any new lines. The indent should not be applied to the first object dumped.- Specified by:
dump
in interfaceDumpable
- Overrides:
dump
in classContainerLifeCycle
- Parameters:
out
- The appendable to dump toindent
- The indent to apply after any new lines.- Throws:
IOException
- if unable to write to Appendable
-
toString
- Overrides:
toString
in classAbstractLifeCycle
-