Не могли бы вы объяснить, как Netty использует пулы потоков для работы? Правильно ли я понимаю, что есть два вида пулов потоков: босс и воркер. Начальные используются для ввода-вывода, а рабочие - для вызова пользовательских обратных вызовов (messageReceived) для обработки данных?