Package com.google.code.yanf4j.nio.impl
Class SelectorManager
java.lang.Object
com.google.code.yanf4j.nio.impl.SelectorManager
Selector manager
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final NioControllerprivate final intprivate static final org.slf4j.Loggerstatic final Stringprivate intReactor count which are readyprivate final Reactor[]private final AtomicIntegerprivate boolean -
Constructor Summary
ConstructorsConstructorDescriptionSelectorManager(int selectorPoolSize, NioController controller, Configuration conf) -
Method Summary
Modifier and TypeMethodDescription(package private) voidgetReactorByIndex(int index) Find reactor by index(package private) ReactorgetReactorFromSession(Session session) intfinal booleanfinal ReactorGet next reactor(package private) voidNotify all reactor have been readyfinal ReactorregisterChannel(SelectableChannel channel, int ops, Object attachment) Register channelfinal voidregisterSession(Session session, EventType event) Register sessionvoidstart()voidstop()
-
Field Details
-
reactorSet
-
sets
-
controller
-
dividend
private final int dividend -
reactorReadyCount
private int reactorReadyCountReactor count which are ready -
started
private volatile boolean started -
REACTOR_ATTRIBUTE
-
log
private static final org.slf4j.Logger log
-
-
Constructor Details
-
SelectorManager
public SelectorManager(int selectorPoolSize, NioController controller, Configuration conf) throws IOException - Throws:
IOException
-
-
Method Details
-
getSelectorCount
public int getSelectorCount() -
start
public void start() -
getReactorFromSession
-
getReactorByIndex
Find reactor by index- Parameters:
index-- Returns:
-
stop
public void stop() -
registerChannel
Register channel- Parameters:
channel-ops-attachment-- Returns:
-
awaitReady
void awaitReady() -
nextReactor
Get next reactor- Returns:
-
registerSession
Register session- Parameters:
session-event-
-
getController
-
notifyReady
void notifyReady()Notify all reactor have been ready -
isStarted
public final boolean isStarted()
-