public class SelectBlob
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
private static class |
SelectBlob.ENXIOSelector |
| Modifier and Type | Field and Description |
|---|---|
private static int |
CANCELLED_OPS |
(package private) java.util.Collection<SelectBlob.ENXIOSelector> |
enxioSelectors |
(package private) RubyArray |
errorResults |
(package private) java.nio.channels.Selector |
mainSelector |
(package private) boolean[] |
pendingReads |
private static int |
READ_ACCEPT_OPS |
(package private) RubyArray |
readArray |
(package private) java.lang.Boolean[] |
readBlocking |
(package private) RubyIO[] |
readIOs |
(package private) RubyArray |
readResults |
(package private) int |
readSize |
(package private) Ruby |
runtime |
(package private) int |
selectedReads |
(package private) int |
selectedWrites |
(package private) java.util.Map<java.nio.channels.spi.SelectorProvider,java.nio.channels.Selector> |
selectors |
(package private) boolean[] |
unselectableReads |
(package private) boolean[] |
unselectableWrites |
private static int |
WRITE_CONNECT_OPS |
(package private) RubyArray |
writeArray |
(package private) java.lang.Boolean[] |
writeBlocking |
(package private) RubyIO[] |
writeIOs |
(package private) RubyArray |
writeResults |
(package private) int |
writeSize |
| Constructor and Description |
|---|
SelectBlob() |
| Modifier and Type | Method and Description |
|---|---|
private static boolean |
cancelReady(int ops) |
private static void |
checkArrayType(Ruby runtime,
IRubyObject obj) |
private IRubyObject |
constructResults(Ruby runtime) |
private void |
doSelect(Ruby runtime,
boolean has_timeout,
long timeout) |
private int |
fastSearch(java.lang.Object[] ary,
java.lang.Object obj) |
private RubyArray |
getErrorResults() |
private boolean[] |
getPendingReads() |
private java.lang.Boolean[] |
getReadBlocking() |
private RubyArray |
getReadResults() |
private java.nio.channels.Selector |
getSelector(ThreadContext context,
java.nio.channels.SelectableChannel channel) |
private static long |
getTimeoutFromArg(IRubyObject timeArg,
Ruby runtime) |
private boolean[] |
getUnselectableReads() |
private boolean[] |
getUnselectableWrites() |
private java.lang.Boolean[] |
getWriteBlocking() |
private RubyArray |
getWriteResults() |
IRubyObject |
goForIt(ThreadContext context,
Ruby runtime,
IRubyObject[] args) |
private void |
processPendingAndUnselectable() |
private void |
processReads(Ruby runtime,
IRubyObject[] args,
ThreadContext context) |
private void |
processSelectedKeys(Ruby runtime) |
private void |
processWrites(Ruby runtime,
IRubyObject[] args,
ThreadContext context) |
private static boolean |
readAcceptReady(int ops) |
private static boolean |
ready(int ops,
int mask) |
private static boolean |
registerSelect(ThreadContext context,
java.nio.channels.Selector selector,
java.util.Map<java.lang.Character,java.lang.Integer> obj,
RubyIO ioObj,
int ops) |
private void |
saveBufferedRead(RubyIO ioObj,
int i) |
private void |
saveReadBlocking(RubyIO ioObj,
int i) |
private RubyIO |
saveReadIO(int i,
ThreadContext context) |
private void |
saveWriteBlocking(RubyIO ioObj,
int i) |
private RubyIO |
saveWriteIO(int i,
ThreadContext context) |
private void |
tidyUp() |
private void |
trySelectRead(ThreadContext context,
java.util.Map<java.lang.Character,java.lang.Integer> attachment,
RubyIO ioObj) |
private void |
trySelectWrite(ThreadContext context,
java.util.Map<java.lang.Character,java.lang.Integer> attachment,
RubyIO ioObj) |
private static boolean |
writeConnectReady(int ops) |
private static boolean |
writeReady(int ops) |
private static final int READ_ACCEPT_OPS
private static final int WRITE_CONNECT_OPS
private static final int CANCELLED_OPS
Ruby runtime
RubyArray readArray
int readSize
RubyIO[] readIOs
boolean[] unselectableReads
boolean[] pendingReads
java.lang.Boolean[] readBlocking
int selectedReads
RubyArray writeArray
int writeSize
RubyIO[] writeIOs
boolean[] unselectableWrites
java.lang.Boolean[] writeBlocking
int selectedWrites
java.nio.channels.Selector mainSelector
java.util.Map<java.nio.channels.spi.SelectorProvider,java.nio.channels.Selector> selectors
java.util.Collection<SelectBlob.ENXIOSelector> enxioSelectors
RubyArray readResults
RubyArray writeResults
RubyArray errorResults
public IRubyObject goForIt(ThreadContext context, Ruby runtime, IRubyObject[] args)
private void processReads(Ruby runtime, IRubyObject[] args, ThreadContext context) throws BadDescriptorException, java.io.IOException
BadDescriptorExceptionjava.io.IOExceptionprivate RubyIO saveReadIO(int i, ThreadContext context)
private void saveReadBlocking(RubyIO ioObj, int i)
private void saveBufferedRead(RubyIO ioObj, int i) throws BadDescriptorException
BadDescriptorExceptionprivate void trySelectRead(ThreadContext context, java.util.Map<java.lang.Character,java.lang.Integer> attachment, RubyIO ioObj) throws java.io.IOException
java.io.IOExceptionprivate void processWrites(Ruby runtime, IRubyObject[] args, ThreadContext context) throws java.io.IOException
java.io.IOExceptionprivate RubyIO saveWriteIO(int i, ThreadContext context)
private void saveWriteBlocking(RubyIO ioObj, int i)
private void trySelectWrite(ThreadContext context, java.util.Map<java.lang.Character,java.lang.Integer> attachment, RubyIO ioObj) throws java.io.IOException
java.io.IOExceptionprivate static long getTimeoutFromArg(IRubyObject timeArg, Ruby runtime)
private void doSelect(Ruby runtime, boolean has_timeout, long timeout) throws java.io.IOException
java.io.IOExceptionprivate static boolean ready(int ops,
int mask)
private static boolean readAcceptReady(int ops)
private static boolean writeConnectReady(int ops)
private static boolean cancelReady(int ops)
private static boolean writeReady(int ops)
private void processSelectedKeys(Ruby runtime) throws java.io.IOException
java.io.IOExceptionprivate void processPendingAndUnselectable()
private void tidyUp()
throws java.io.IOException
java.io.IOExceptionprivate RubyArray getReadResults()
private RubyArray getWriteResults()
private RubyArray getErrorResults()
private java.nio.channels.Selector getSelector(ThreadContext context, java.nio.channels.SelectableChannel channel) throws java.io.IOException
java.io.IOExceptionprivate java.lang.Boolean[] getReadBlocking()
private java.lang.Boolean[] getWriteBlocking()
private boolean[] getUnselectableReads()
private boolean[] getUnselectableWrites()
private boolean[] getPendingReads()
private IRubyObject constructResults(Ruby runtime)
private int fastSearch(java.lang.Object[] ary,
java.lang.Object obj)
private static void checkArrayType(Ruby runtime, IRubyObject obj)
private static boolean registerSelect(ThreadContext context, java.nio.channels.Selector selector, java.util.Map<java.lang.Character,java.lang.Integer> obj, RubyIO ioObj, int ops) throws java.io.IOException
java.io.IOException