Я пишу сервер, используя java NIO, и у меня есть несколько вопросов, на которые я не могу найти ответы.
Во-первых, что касается SSLEngine, как правильно обрабатывать NEED_TASK
в отдельном потоке? Когда я вызываю задачи в отдельном потоке, они завершаются, но я понятия не имею, как вернуться назад, чтобы выполнить другую операцию рукопожатия. Одним из вариантов было бы вызвать эту операцию из потока, выполняющего делегированную задачу, но я думаю, что это не так.
Другой вопрос касается вызова interestOps()
из другого потока, а не потока селектора. Мне нужно изменить ключевые интересы после того, как попытка записи в канал не записала все данные. Я думал об использовании какой-то очереди изменений, как в учебнике ROX NIO, но я прочитал в другой ветке здесь, что это не лучший способ.