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.Object
Selector manager
-
-
Field Summary
Fields Modifier and Type Field Description private NioController
controller
private int
dividend
private static org.slf4j.Logger
log
static java.lang.String
REACTOR_ATTRIBUTE
private int
reactorReadyCount
Reactor count which are readyprivate Reactor[]
reactorSet
private java.util.concurrent.atomic.AtomicInteger
sets
private boolean
started
-
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) void
awaitReady()
NioController
getController()
Reactor
getReactorByIndex(int index)
Find reactor by index(package private) Reactor
getReactorFromSession(Session session)
int
getSelectorCount()
boolean
isStarted()
Reactor
nextReactor()
Get next reactor(package private) void
notifyReady()
Notify all reactor have been readyReactor
registerChannel(java.nio.channels.SelectableChannel channel, int ops, java.lang.Object attachment)
Register channelvoid
registerSession(Session session, EventType event)
Register sessionvoid
start()
void
stop()
-
-
-
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()
-
-