org.jboss.netty.handler.codec.protobuf
Class ProtobufDecoder
java.lang.Object
org.jboss.netty.handler.codec.oneone.OneToOneDecoder
org.jboss.netty.handler.codec.protobuf.ProtobufDecoder
- All Implemented Interfaces:
- ChannelHandler, ChannelUpstreamHandler
@ChannelHandler.Sharable
public class ProtobufDecoder
- extends OneToOneDecoder
Decodes a received ChannelBuffer
into a
Google Protocol Buffers
Message
and MessageLite
. Please note that this decoder must
be used with a proper FrameDecoder
such as ProtobufVarint32FrameDecoder
or 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 ProtobufDecoder
(MyMessage.getDefaultInstance()));
// Encoder
pipeline.addLast("frameEncoder", new LengthFieldPrepender
(4));
pipeline.addLast("protobufEncoder", new ProtobufEncoder
());
and then you can use a MyMessage
instead of a ChannelBuffer
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);
}
- Version:
- $Rev:231 $, $Date:2008-06-12 16:44:50 +0900 (목, 12 6월 2008) $
- Author:
- The Netty Project, Trustin Lee
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ProtobufDecoder
public ProtobufDecoder(MessageLite prototype)
- Creates a new instance.
ProtobufDecoder
public ProtobufDecoder(MessageLite prototype,
ExtensionRegistry extensionRegistry)
decode
protected Object decode(ChannelHandlerContext ctx,
Channel channel,
Object msg)
throws Exception
- Description copied from class:
OneToOneDecoder
- Transforms the specified received message into another message and return
the transformed message. Return
null
if the received message
is supposed to be discarded.
- Specified by:
decode
in class OneToOneDecoder
- Throws:
Exception
Copyright © 2008-2011 JBoss, a division of Red Hat, Inc.. All Rights Reserved.