Package one.nio.net
Class JavaSelector
- java.lang.Object
-
- one.nio.net.Selector
-
- one.nio.net.JavaSelector
-
-
Field Summary
Fields Modifier and Type Field Description private java.nio.channels.Selectorimplprivate longlastWakeupTimeprivate static org.slf4j.Loggerlogprivate java.util.concurrent.ConcurrentLinkedQueue<Session>pendingSessions
-
Constructor Summary
Constructors Constructor Description JavaSelector()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voiddisable(Session session)voidenable(Session session)booleanisOpen()java.util.Iterator<Session>iterator()private static java.util.Iterator<Session>iteratorFor(java.util.Set<java.nio.channels.SelectionKey> keys)longlastWakeupTime()voidlisten(Session session, int events)voidregister(Session session)private voidregisterPendingSessions()java.util.Iterator<Session>select()intsize()voidunregister(Session session)
-
-
-
Field Detail
-
log
private static final org.slf4j.Logger log
-
impl
private final java.nio.channels.Selector impl
-
pendingSessions
private final java.util.concurrent.ConcurrentLinkedQueue<Session> pendingSessions
-
lastWakeupTime
private long lastWakeupTime
-
-
Method Detail
-
close
public final void close()
-
unregister
public final void unregister(Session session)
- Specified by:
unregisterin classSelector
-
listen
public final void listen(Session session, int events)
-
iterator
public final java.util.Iterator<Session> iterator()
-
lastWakeupTime
public long lastWakeupTime()
- Specified by:
lastWakeupTimein classSelector
-
registerPendingSessions
private void registerPendingSessions() throws java.io.IOException- Throws:
java.io.IOException
-
iteratorFor
private static java.util.Iterator<Session> iteratorFor(java.util.Set<java.nio.channels.SelectionKey> keys)
-
-