public class ManagedSelector extends ContainerLifeCycle implements Dumpable
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.
| Modifier and Type | Class and Description |
|---|---|
static interface |
ManagedSelector.Selectable
A
ManagedSelector.Selectable is an EndPoint that wish to be
notified of non-blocking events by the ManagedSelector. |
static interface |
ManagedSelector.SelectorUpdate
A selector update to be done when the selector has been woken.
|
AbstractLifeCycle.AbstractLifeCycleListenerDumpable.DumpableContainerContainer.InheritedListener, Container.ListenerLifeCycle.Listener| Constructor and Description |
|---|
ManagedSelector(SelectorManager selectorManager,
int id) |
| Modifier and Type | Method and Description |
|---|---|
protected 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(java.lang.Appendable out,
java.lang.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 |
getAverageSelectedKeys() |
double |
getMaxSelectedKeys() |
long |
getSelectCount() |
java.nio.channels.Selector |
getSelector() |
int |
getTotalKeys() |
protected void |
handleSelectFailure(java.nio.channels.Selector selector,
java.lang.Throwable failure) |
protected int |
nioSelect(java.nio.channels.Selector selector,
boolean now) |
protected void |
onSelectFailed(java.lang.Throwable cause) |
void |
resetStats() |
protected int |
select(java.nio.channels.Selector selector) |
int |
size() |
void |
submit(ManagedSelector.SelectorUpdate update)
Submit an
ManagedSelector.SelectorUpdate to be acted on between calls to Selector.select() |
java.lang.String |
toString() |
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeansaddLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stopclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitdump, dump, dumpContainer, dumpIterable, dumpMapEntries, dumpObject, dumpObjects, dumpSelf, namedisDumpablepublic ManagedSelector(SelectorManager selectorManager, int id)
public java.nio.channels.Selector getSelector()
protected void doStart()
throws java.lang.Exception
ContainerLifeCycledoStart in class ContainerLifeCyclejava.lang.Exceptionprotected void doStop()
throws java.lang.Exception
ContainerLifeCycledoStop in class ContainerLifeCyclejava.lang.Exception@ManagedAttribute(value="Total number of keys", readonly=true) public int getTotalKeys()
@ManagedAttribute(value="Average number of selected keys", readonly=true) public double getAverageSelectedKeys()
@ManagedAttribute(value="Maximum number of selected keys", readonly=true) public double getMaxSelectedKeys()
@ManagedAttribute(value="Total number of select() calls", readonly=true) public long getSelectCount()
@ManagedOperation(value="Resets the statistics", impact="ACTION") public void resetStats()
protected int nioSelect(java.nio.channels.Selector selector,
boolean now)
throws java.io.IOException
java.io.IOExceptionprotected int select(java.nio.channels.Selector selector)
throws java.io.IOException
java.io.IOExceptionprotected void handleSelectFailure(java.nio.channels.Selector selector,
java.lang.Throwable failure)
throws java.io.IOException
java.io.IOExceptionprotected void onSelectFailed(java.lang.Throwable cause)
public int size()
public void submit(ManagedSelector.SelectorUpdate update)
ManagedSelector.SelectorUpdate to be acted on between calls to Selector.select()update - The selector update to apply at next wakeupprotected void endPointOpened(EndPoint endPoint)
protected void endPointClosed(EndPoint endPoint)
public void dump(java.lang.Appendable out,
java.lang.String indent)
throws java.io.IOException
Dumpabledump in interface Dumpabledump in class ContainerLifeCycleout - The appendable to dump toindent - The indent to apply after any new lines.java.io.IOException - if unable to write to Appendablepublic java.lang.String toString()
toString in class AbstractLifeCycleCopyright © 1995–2021 Webtide. All rights reserved.