Class 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.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.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class 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.
      • 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
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container

        org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

        org.eclipse.jetty.util.component.LifeCycle.Listener
    • Field Summary

      • Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

        FAILED, STARTED, STARTING, STOPPED, STOPPING
      • Fields inherited from interface org.eclipse.jetty.util.component.Dumpable

        KEY
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void doStart()  
      protected void doStop()  
      void dump​(java.lang.Appendable out, java.lang.String indent)  
      protected void endPointClosed​(EndPoint endPoint)  
      protected void endPointOpened​(EndPoint endPoint)  
      java.nio.channels.Selector getSelector()  
      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)  
      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()  
      • 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
      • Methods inherited from interface org.eclipse.jetty.util.component.Container

        getCachedBeans, getEventListeners
      • Methods inherited from interface org.eclipse.jetty.util.component.Dumpable

        dump, dumpSelf
    • 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:
        doStart in class org.eclipse.jetty.util.component.ContainerLifeCycle
        Throws:
        java.lang.Exception
      • doStop

        protected void doStop()
                       throws java.lang.Exception
        Overrides:
        doStop in class org.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()
      • 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:
        dump in interface org.eclipse.jetty.util.component.Dumpable
        Overrides:
        dump in class org.eclipse.jetty.util.component.ContainerLifeCycle
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class org.eclipse.jetty.util.component.AbstractLifeCycle