Вместо того, чтобы использовать селектор обычным способом, где для каждого готового канала можно определить и отправить сообщение, я бы хотел выбрать, какое соединение в данный момент готово, и отправить туда сообщение.
Предположительно, это можно сделать, бросив все каналы в селектор для чтения и пометив их как готовые к чтению, если они появятся, затем сделав то же самое для записи, а затем выбрав один из тех, которые я отметил готовыми.
Это хорошая идея, есть ли лучший способ сделать это, и что я должен остерегаться? Например, Rox Tutorial гласит "Если вы попытаетесь смешать OP READ и OP WRITE, вы быстро столкнетесь с проблемами. Реализация Sun Windows зашла в тупик, если вы это сделаете. " Есть ли здесь похожие ошибки? Как лучше всего реализовать:
boolean isReadyForRead(SocketChannel c);
boolean isReadyForWrite(SocketChannel c);