class PollSelector
extends java.nio.channels.spi.AbstractSelector
Selector that uses good old
poll(2)| Modifier and Type | Field and Description |
|---|---|
private static int |
EVENTS_OFFSET |
private static int |
FD_OFFSET |
private PollSelectionKey[] |
keyArray |
private java.util.Map<java.nio.channels.SelectionKey,java.lang.Boolean> |
keys |
private int |
nfds |
private int[] |
pipefd |
private java.nio.ByteBuffer |
pollData |
(package private) static int |
POLLERR |
private static int |
POLLFD_SIZE |
(package private) static int |
POLLHUP |
(package private) static int |
POLLIN |
(package private) static int |
POLLOUT |
private java.lang.Object |
regLock |
private static int |
REVENTS_OFFSET |
private java.util.Set<java.nio.channels.SelectionKey> |
selected |
| Constructor and Description |
|---|
PollSelector(java.nio.channels.spi.SelectorProvider provider) |
| Modifier and Type | Method and Description |
|---|---|
private void |
add(PollSelectionKey k) |
private short |
getPollEvents(int idx) |
private int |
getPollFD(int idx) |
private short |
getPollRevents(int idx) |
protected void |
implCloseSelector() |
(package private) void |
interestOps(PollSelectionKey k,
int ops) |
java.util.Set<java.nio.channels.SelectionKey> |
keys() |
private int |
poll(long timeout) |
private void |
putPollEvents(int idx,
int events) |
private void |
putPollFD(int idx,
int fd) |
private void |
putPollRevents(int idx,
int events) |
protected java.nio.channels.SelectionKey |
register(java.nio.channels.spi.AbstractSelectableChannel ch,
int ops,
java.lang.Object att) |
private void |
remove(PollSelectionKey k) |
int |
select() |
int |
select(long timeout) |
java.util.Set<java.nio.channels.SelectionKey> |
selectedKeys() |
int |
selectNow() |
java.nio.channels.Selector |
wakeup() |
private void |
wakeupReceived() |
private static final int POLLFD_SIZE
private static final int FD_OFFSET
private static final int EVENTS_OFFSET
private static final int REVENTS_OFFSET
static final int POLLIN
static final int POLLOUT
static final int POLLERR
static final int POLLHUP
private PollSelectionKey[] keyArray
private java.nio.ByteBuffer pollData
private int nfds
private final int[] pipefd
private final java.lang.Object regLock
private final java.util.Map<java.nio.channels.SelectionKey,java.lang.Boolean> keys
private final java.util.Set<java.nio.channels.SelectionKey> selected
public PollSelector(java.nio.channels.spi.SelectorProvider provider)
private void putPollFD(int idx,
int fd)
private void putPollEvents(int idx,
int events)
private int getPollFD(int idx)
private short getPollEvents(int idx)
private short getPollRevents(int idx)
private void putPollRevents(int idx,
int events)
protected void implCloseSelector()
throws java.io.IOException
implCloseSelector in class java.nio.channels.spi.AbstractSelectorjava.io.IOExceptionprotected java.nio.channels.SelectionKey register(java.nio.channels.spi.AbstractSelectableChannel ch,
int ops,
java.lang.Object att)
register in class java.nio.channels.spi.AbstractSelectorpublic java.util.Set<java.nio.channels.SelectionKey> keys()
keys in class java.nio.channels.Selectorpublic java.util.Set<java.nio.channels.SelectionKey> selectedKeys()
selectedKeys in class java.nio.channels.Selectorvoid interestOps(PollSelectionKey k, int ops)
private void add(PollSelectionKey k)
private void remove(PollSelectionKey k)
public int selectNow()
throws java.io.IOException
selectNow in class java.nio.channels.Selectorjava.io.IOExceptionpublic int select(long timeout)
throws java.io.IOException
select in class java.nio.channels.Selectorjava.io.IOExceptionpublic int select()
throws java.io.IOException
select in class java.nio.channels.Selectorjava.io.IOExceptionprivate int poll(long timeout)
throws java.io.IOException
java.io.IOExceptionprivate void wakeupReceived()
throws java.io.IOException
java.io.IOExceptionpublic java.nio.channels.Selector wakeup()
wakeup in class java.nio.channels.Selector