{@link ChannelPipeline} pipeline = ...;// Decoders pipeline.addLast("frameDecoder", new {@link LengthFieldBasedFrameDecoder}(1048576, 0, 4, 0, 4)); pipeline.addLast("protobufDecoder", new {@link ProtobufDecoder}(MyMessage.getDefaultInstance())); // Encoder pipeline.addLast("frameEncoder", new {@link LengthFieldPrepender}(4)); pipeline.addLast("protobufEncoder", new {@link ProtobufEncoder}());and then you can use a {@code MyMessage} instead of a {@link ByteBuf}as a message:
void channelRead( {@link ChannelHandlerContext} ctx, MyMessage req) {MyMessage res = MyMessage.newBuilder().setText( "Did you say '" + req.getText() + "'?").build(); ch.write(res); }
{@link ChannelPipeline} pipeline = ...;// Decoders pipeline.addLast("frameDecoder", new {@link LengthFieldBasedFrameDecoder}(1048576, 0, 4, 0, 4)); pipeline.addLast("protobufDecoder", new {@link ProtobufDecoder}(MyMessage.getDefaultInstance())); // Encoder pipeline.addLast("frameEncoder", new {@link LengthFieldPrepender}(4)); pipeline.addLast("protobufEncoder", new {@link ProtobufEncoder}());and then you can use a {@code MyMessage} instead of a {@link ChannelBuffer}as a message:
void messageReceived( {@link ChannelHandlerContext} ctx, {@link MessageEvent} e) {MyMessage req = (MyMessage) e.getMessage(); MyMessage res = MyMessage.newBuilder().setText( "Did you say '" + req.getText() + "'?").build(); ch.write(res); }@author The Netty Project @author Trustin Lee @version $Rev:231 $, $Date:2008-06-12 16:44:50 +0900 (목, 12 6월 2008) $ @apiviz.landmark
|
|
|
|
|
|
|
|
|
|