Bir JSON-Message'ı NUL-Sonlandıran bir Encoder yazıyorum, böylece mesajın parçalanması durumunda kodu çözülebilir.ByteBuf.retain() öğesini bir Netty4 Encoder'da ne zaman kullanmalıyım?
Bu örnekte, mevcut bir ByteBuf'u çıktıya yazmak için ByteBuf.retain()
çağrısının yapıldığı ->click. Bunu neden yaptılar ve neden gerekli? kodlama sonra Varsayılan olarak
public class FrameEncoder extends MessageToMessageEncoder<ByteBuf> {
@Override
protected void encode(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out) throws Exception {
out.add(msg.retain());
out.add(ctx.alloc().buffer(1).writeByte(NUL));
}
}