Class ProtobufDecoderNano

All Implemented Interfaces:
ChannelHandler, ChannelInboundHandler

@Sharable public class ProtobufDecoderNano extends MessageToMessageDecoder<ByteBuf>
Decodes a received ByteBuf into a Google Protocol Buffers MessageNano. Please note that this decoder must be used with a proper ByteToMessageDecoder such as LengthFieldBasedFrameDecoder if you are using a stream-based transport such as TCP/IP. A typical setup for TCP/IP would be:
 ChannelPipeline pipeline = ...;

 // Decoders
 pipeline.addLast("frameDecoder",
                  new LengthFieldBasedFrameDecoder(1048576, 0, 4, 0, 4));
 pipeline.addLast("protobufDecoder",
                  new ProtobufDecoderNano(MyMessage.getDefaultInstance()));

 // Encoder
 pipeline.addLast("frameEncoder", new LengthFieldPrepender(4));
 pipeline.addLast("protobufEncoder", new ProtobufEncoderNano());
 
and then you can use a MyMessage instead of a ByteBuf as a message:
 void channelRead(ChannelHandlerContext ctx, Object msg) {
     MyMessage req = (MyMessage) msg;
     MyMessage res = MyMessage.newBuilder().setText(
                               "Did you say '" + req.getText() + "'?").build();
     ch.write(res);
 }