Callback Based Selectors

Brian Burkhalter brian.burkhalter at
Thu Jun 14 00:53:26 UTC 2018

Looks good to me also aside from a few minor things.


(Note: There is some if not complete duplication here with my minor editing of / commenting on the CSR.)

111: performs -> perform
197: contain -> contains
433: “ready operation set to a subset” is awkward. Maybe something like “ready operation set being a subset?”
448: Remove un-italicized “action"
459 and 536: re-entrant -> reentrant
495: operation -> operating


64: Trailing white space.


What is the significance, if any, of moving the old lines 203-204 to be ahead of the new lines 198-201 versus being after the old lines 190-200?

SelectWithConsumer test:

142: I assume the n == 1 assertion is to allow line 143 or 144 to identify which action was *not* performed.
214: Blank line
305: Comment -> “Test invoking select operation with interrupt status set."
387: Comment is inconsistent with the key set *not* being locked.



On Jun 4, 2018, at 5:49 AM, David Lloyd <david.lloyd at> wrote:

> Looks good to me!
> On Mon, Jun 4, 2018 at 3:38 AM, Alan Bateman <Alan.Bateman at> wrote:
>> Any other comments on the API additions before I create the CSR?
>> -Alan
>> On 11/04/2018 09:27, Alan Bateman wrote:
>>> I've re-based the patch that adds select(Consumer<SelectionKey>) and
>>> friends. This follows the changes for JDK-8201315 so the action is invoked
>>> while synchronized on the selector and the selected-key set, not the key set
>>> for registrations.
>>> There's a still a bit of work to do on the Solaris event port
>>> implementation related to error recovery, also additional tests will be
>>> needed, but otherwise I think all the interactions with the existing spec
>>> have been worked out.

More information about the nio-dev mailing list