Package one.nio.net
Class NativeSelector
- java.lang.Object
-
- one.nio.net.Selector
-
- one.nio.net.NativeSelector
-
-
Field Summary
Fields Modifier and Type Field Description private intcloseFlagprivate static intEPOLL_BUF_SIZEprivate static intEPOLL_CTL_ADDprivate static intEPOLL_CTL_DELprivate static intEPOLL_CTL_MODprivate static intEPOLL_HEADER_SIZEprivate static intEPOLL_MAX_EVENTSprivate static intEPOLL_STRUCT_SIZEprivate intepollFDprivate longepollStructprivate Session[]sessionsprivate intsize
-
Constructor Summary
Constructors Constructor Description NativeSelector()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidadd(Session session)voidclose()voiddisable(Session session)voidenable(Session session)private static voidepollClose(int epollFD)private static intepollCreate()private static voidepollCtl(int epollFD, int op, int fd, int data, int events)private static intepollWait(int epollFD, long epollStruct, int epollElements)booleanisOpen()java.util.Iterator<Session>iterator()longlastWakeupTime()voidlisten(Session session, int events)voidregister(Session session)private voidremove(Session session)java.util.Iterator<Session>select()intsize()voidunregister(Session session)
-
-
-
Field Detail
-
EPOLL_CTL_ADD
private static final int EPOLL_CTL_ADD
- See Also:
- Constant Field Values
-
EPOLL_CTL_DEL
private static final int EPOLL_CTL_DEL
- See Also:
- Constant Field Values
-
EPOLL_CTL_MOD
private static final int EPOLL_CTL_MOD
- See Also:
- Constant Field Values
-
EPOLL_HEADER_SIZE
private static final int EPOLL_HEADER_SIZE
- See Also:
- Constant Field Values
-
EPOLL_MAX_EVENTS
private static final int EPOLL_MAX_EVENTS
- See Also:
- Constant Field Values
-
EPOLL_STRUCT_SIZE
private static final int EPOLL_STRUCT_SIZE
- See Also:
- Constant Field Values
-
EPOLL_BUF_SIZE
private static final int EPOLL_BUF_SIZE
- See Also:
- Constant Field Values
-
epollFD
private final int epollFD
-
epollStruct
private final long epollStruct
-
sessions
private Session[] sessions
-
size
private int size
-
closeFlag
private volatile int closeFlag
-
-
Method Detail
-
epollCreate
private static int epollCreate()
-
epollClose
private static void epollClose(int epollFD)
-
epollWait
private static int epollWait(int epollFD, long epollStruct, int epollElements)
-
epollCtl
private static void epollCtl(int epollFD, int op, int fd, int data, int events)
-
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
-
add
private void add(Session session)
-
remove
private void remove(Session session)
-
-