@Override public ChannelOutboundHandler newEncoder() { return new MessageToByteEncoder<byte[]>() { @Override protected void encode(ChannelHandlerContext ctx, byte[] msg, ByteBuf out) throws Exception { out.writeBytes(msg); } }; }
@Override public ChannelOutboundHandler newEncoder() { return new MessageToByteEncoder<ByteBean>() { @Override protected void encode(ChannelHandlerContext ctx, ByteBean msg, ByteBuf out) throws Exception { out.writeBytes(msg.getContent(), msg.getPosition(), msg.getLength()); } }; }
public ChannelOutboundHandler encoder() { return encoder; }
@Override public ChannelOutboundHandler newEncoder() { return new DefaultByteArrayEncoderHandler(); }
@Override public ChannelOutboundHandler newEncoder() { return new ChannelEncoder(); }
/** * Add a {@link ChannelHandler} with {@link #addHandlerFirst} if of type of * {@link io.netty.channel.ChannelOutboundHandler} otherwise with * {@link #addHandlerLast}. Implementation may add more auto handling in particular * HTTP based context will prepend an HttpContent body extractor. * <p> * {@code [ [reactor codecs], [<- user FIRST HANDLERS added here, user LAST HANDLERS added here ->], [reactor handlers] ]} * <p> * If effectively added, the handler will be safely removed when the channel is made * inactive (pool release). * * @param name handler name * @param handler handler instance * * @return this NettyContext */ default NettyContext addHandler(String name, ChannelHandler handler){ if(handler instanceof ChannelOutboundHandler){ addHandlerFirst(name, handler); } else { addHandlerLast(name, handler); } return this; }
/** * 创建编码器句柄 * @return */ public ChannelOutboundHandler newEncoder();