код:
return (getInterestOps() & OP_WRITE) == 0;
поэтому, когда interestops == 5(OP_READ_WRITE), channel.isWritable()==false, это сбивает с толку, я думаю, это должно быть правдой.
interestops == 5(OP_READ_WRITE)
channel.isWritable()==false
Нет. OP_WRITE флаг означает, что «канал в данный момент недоступен для записи (т. Е. Буфер заполнен) и, следовательно, канал заинтересован в изменениях состояния буфера записи». Поэтому это правильно.
OP_WRITE