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.AbstractSelector
java.io.IOException
protected java.nio.channels.SelectionKey register(java.nio.channels.spi.AbstractSelectableChannel ch, int ops, java.lang.Object att)
register
in class java.nio.channels.spi.AbstractSelector
public java.util.Set<java.nio.channels.SelectionKey> keys()
keys
in class java.nio.channels.Selector
public java.util.Set<java.nio.channels.SelectionKey> selectedKeys()
selectedKeys
in class java.nio.channels.Selector
void 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.Selector
java.io.IOException
public int select(long timeout) throws java.io.IOException
select
in class java.nio.channels.Selector
java.io.IOException
public int select() throws java.io.IOException
select
in class java.nio.channels.Selector
java.io.IOException
private int poll(long timeout) throws java.io.IOException
java.io.IOException
private void wakeupReceived() throws java.io.IOException
java.io.IOException
public java.nio.channels.Selector wakeup()
wakeup
in class java.nio.channels.Selector