org.jboss.netty.handler.codec.protobuf
Class ProtobufVarint32FrameDecoder
java.lang.Object
org.jboss.netty.channel.SimpleChannelUpstreamHandler
org.jboss.netty.handler.codec.frame.FrameDecoder
org.jboss.netty.handler.codec.protobuf.ProtobufVarint32FrameDecoder
- All Implemented Interfaces:
- ChannelHandler, ChannelUpstreamHandler
public class ProtobufVarint32FrameDecoder
- extends FrameDecoder
A decoder that splits the received ChannelBuffer
s dynamically by the
value of the Google Protocol Buffers
Base
128 Varints integer length field in the message. For example:
BEFORE DECODE (302 bytes) AFTER DECODE (300 bytes)
+--------+---------------+ +---------------+
| Length | Protobuf Data |----->| Protobuf Data |
| 0xAC02 | (300 bytes) | | (300 bytes) |
+--------+---------------+ +---------------+
- Version:
- $Rev: 2323 $, $Date: 2010-06-24 11:13:12 +0900 (Thu, 24 Jun 2010) $
- Author:
- The Netty Project, Tomasz Blachowicz (tblachowicz@gmail.com), Trustin Lee
- See Also:
CodedInputStream
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ProtobufVarint32FrameDecoder
public ProtobufVarint32FrameDecoder()
- Creates a new instance.
decode
protected Object decode(ChannelHandlerContext ctx,
Channel channel,
ChannelBuffer buffer)
throws Exception
- Description copied from class:
FrameDecoder
- Decodes the received packets so far into a frame.
- Specified by:
decode
in class FrameDecoder
- Parameters:
ctx
- the context of this handlerchannel
- the current channelbuffer
- the cumulative buffer of received packets so far.
Note that the buffer might be empty, which means you
should not make an assumption that the buffer contains
at least one byte in your decoder implementation.
- Returns:
- the decoded frame if a full frame was received and decoded.
null
if there's not enough data in the buffer to decode a frame.
- Throws:
Exception
Copyright © 2008-2011 JBoss, a division of Red Hat, Inc.. All Rights Reserved.