Netty selector register channel with 0

Viewed 68

Recently I read netty source code. For the channel registration, I read the code below:

File name: AbstractNioChannel.java

@Override
protected void doRegister() throws Exception {
    boolean selected = false;
    for (;;) {
        try {
            selectionKey = javaChannel().register(eventLoop().unwrappedSelector(), 0, this);
            return;
        } catch (CancelledKeyException e) {
            if (!selected) {
                // Force the Selector to select now as the "canceled" SelectionKey may still be
                // cached and not removed because no Select.select(..) operation was called yet.
                eventLoop().selectNow();
                selected = true;
            } else {
                // We forced a select operation on the selector before but the SelectionKey is still cached
                // for whatever reason. JDK bug ?
                throw e;
            }
        }
    }
}

So, what does it mean for a channel registered with interest key 0 for a channel?

1 Answers

It means it is registered and only notified for errors.

Related