66 }
67
68 /**
69 * Maps a file descriptor to an index from 0 to {@code toIndex}.
70 * @implSpec The default implementation is good for Unix file descriptors.
71 */
72 int fdValToIndex(int fdVal, int toIndex) {
73 return fdVal & (toIndex - 1);
74 }
75
76 /**
77 * Creates a Poller for read ops.
78 * @param subPoller true to create a sub-poller
79 */
80 abstract Poller readPoller(boolean subPoller) throws IOException;
81
82 /**
83 * Creates a Poller for write ops.
84 * @param subPoller true to create a sub-poller
85 */
86 abstract Poller writePoller(boolean subPoller) throws IOException;
87 }
|
66 }
67
68 /**
69 * Maps a file descriptor to an index from 0 to {@code toIndex}.
70 * @implSpec The default implementation is good for Unix file descriptors.
71 */
72 int fdValToIndex(int fdVal, int toIndex) {
73 return fdVal & (toIndex - 1);
74 }
75
76 /**
77 * Creates a Poller for read ops.
78 * @param subPoller true to create a sub-poller
79 */
80 abstract Poller readPoller(boolean subPoller) throws IOException;
81
82 /**
83 * Creates a Poller for write ops.
84 * @param subPoller true to create a sub-poller
85 */
86 abstract Poller writePoller( boolean subPoller) throws IOException;
87 }
|