Допустим, у меня есть следующий декодер ...
public class MyDecoder extends FrameDecoder1 {
@Override
protected Object decode(
ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer)2 {
if (buffer.readableBytes() < 4) {
return null;
}
return buffer.readBytes(4);
}
}
Что произойдет, если клиент подключится и никогда не отправит 4 байта?
1 - Клиент подключится, отправит 3 байта, закрывает соединение.Netty отбрасывает все, что связано с этим соединением правильно, все ресурсы «освобождены»?
2 - Клиент подключается, отправляет 3 байта, не закрывает соединение и сохраняет его открытым.Другой клиент подключается и делает то же самое, и это продолжается.На данный момент ресурсы взяты правильно?Есть ли способ справиться с этим по умолчанию или мне нужно подключить обработчик тайм-аута чтения или что-то еще?
Спасибо