Package com.google.code.yanf4j.nio.impl
Class SelectorManager
- java.lang.Object
-
- com.google.code.yanf4j.nio.impl.SelectorManager
-
public class SelectorManager extends java.lang.ObjectSelector manager
-
-
Field Summary
Fields Modifier and Type Field Description private NioControllercontrollerprivate intdividendprivate static org.slf4j.Loggerlogstatic java.lang.StringREACTOR_ATTRIBUTEprivate intreactorReadyCountReactor count which are readyprivate Reactor[]reactorSetprivate java.util.concurrent.atomic.AtomicIntegersetsprivate booleanstarted
-
Constructor Summary
Constructors Constructor Description SelectorManager(int selectorPoolSize, NioController controller, Configuration conf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidawaitReady()NioControllergetController()ReactorgetReactorByIndex(int index)Find reactor by index(package private) ReactorgetReactorFromSession(Session session)intgetSelectorCount()booleanisStarted()ReactornextReactor()Get next reactor(package private) voidnotifyReady()Notify all reactor have been readyReactorregisterChannel(java.nio.channels.SelectableChannel channel, int ops, java.lang.Object attachment)Register channelvoidregisterSession(Session session, EventType event)Register sessionvoidstart()voidstop()
-
-
-
Field Detail
-
reactorSet
private final Reactor[] reactorSet
-
sets
private final java.util.concurrent.atomic.AtomicInteger sets
-
controller
private final NioController controller
-
dividend
private final int dividend
-
reactorReadyCount
private int reactorReadyCount
Reactor count which are ready
-
started
private volatile boolean started
-
REACTOR_ATTRIBUTE
public static final java.lang.String REACTOR_ATTRIBUTE
-
log
private static final org.slf4j.Logger log
-
-
Constructor Detail
-
SelectorManager
public SelectorManager(int selectorPoolSize, NioController controller, Configuration conf) throws java.io.IOException- Throws:
java.io.IOException
-
-
Method Detail
-
getSelectorCount
public int getSelectorCount()
-
start
public void start()
-
getReactorByIndex
public Reactor getReactorByIndex(int index)
Find reactor by index- Parameters:
index-- Returns:
-
stop
public void stop()
-
registerChannel
public final Reactor registerChannel(java.nio.channels.SelectableChannel channel, int ops, java.lang.Object attachment)
Register channel- Parameters:
channel-ops-attachment-- Returns:
-
awaitReady
void awaitReady()
-
nextReactor
public final Reactor nextReactor()
Get next reactor- Returns:
-
registerSession
public final void registerSession(Session session, EventType event)
Register session- Parameters:
session-event-
-
getController
public NioController getController()
-
notifyReady
void notifyReady()
Notify all reactor have been ready
-
isStarted
public final boolean isStarted()
-
-