Class ProtobufEncoder
- java.lang.Object
-
- org.jboss.netty.handler.codec.oneone.OneToOneEncoder
-
- org.jboss.netty.handler.codec.protobuf.ProtobufEncoder
-
- All Implemented Interfaces:
ChannelDownstreamHandler
,ChannelHandler
@Sharable public class ProtobufEncoder extends OneToOneEncoder
Encodes the requested Google Protocol BuffersMessage
andMessageLite
into aChannelBuffer
. A typical setup for TCP/IP would be:ChannelPipeline
pipeline = ...; // Decoders pipeline.addLast("frameDecoder", newLengthFieldBasedFrameDecoder
(1048576, 0, 4, 0, 4)); pipeline.addLast("protobufDecoder", newProtobufDecoder
(MyMessage.getDefaultInstance())); // Encoder pipeline.addLast("frameEncoder", newLengthFieldPrepender
(4)); pipeline.addLast("protobufEncoder", newProtobufEncoder
());MyMessage
instead of aChannelBuffer
as a message:void messageReceived(
ChannelHandlerContext
ctx,MessageEvent
e) { MyMessage req = (MyMessage) e.getMessage(); MyMessage res = MyMessage.newBuilder().setText( "Did you say '" + req.getText() + "'?").build(); ch.write(res); }
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler
ChannelHandler.Sharable
-
-
Constructor Summary
Constructors Constructor Description ProtobufEncoder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Object
encode(ChannelHandlerContext ctx, Channel channel, Object msg)
Transforms the specified message into another message and return the transformed message.-
Methods inherited from class org.jboss.netty.handler.codec.oneone.OneToOneEncoder
doEncode, handleDownstream
-
-
-
-
Method Detail
-
encode
protected Object encode(ChannelHandlerContext ctx, Channel channel, Object msg) throws Exception
Description copied from class:OneToOneEncoder
Transforms the specified message into another message and return the transformed message. Note that you can not returnnull
, unlike you can inOneToOneDecoder.decode(ChannelHandlerContext, Channel, Object)
; you must return something, at leastChannelBuffers.EMPTY_BUFFER
.- Specified by:
encode
in classOneToOneEncoder
- Throws:
Exception
-
-