org.jboss.netty.handler.codec.protobuf
Class ProtobufVarint32LengthFieldPrepender

java.lang.Object
  extended by org.jboss.netty.handler.codec.oneone.OneToOneEncoder
      extended by org.jboss.netty.handler.codec.protobuf.ProtobufVarint32LengthFieldPrepender
All Implemented Interfaces:
ChannelDownstreamHandler, ChannelHandler

@ChannelHandler.Sharable
public class ProtobufVarint32LengthFieldPrepender
extends OneToOneEncoder

An encoder that prepends the the Google Protocol Buffers Base 128 Varints integer length field. For example:

 BEFORE DECODE (300 bytes)       AFTER DECODE (302 bytes)
 +---------------+               +--------+---------------+
 | Protobuf Data |-------------->| Length | Protobuf Data |
 |  (300 bytes)  |               | 0xAC02 |  (300 bytes)  |
 +---------------+               +--------+---------------+
 
*

Version:
$Rev: 2315 $, $Date: 2010-06-23 14:16:47 +0900 (Wed, 23 Jun 2010) $
Author:
The Netty Project, Tomasz Blachowicz (tblachowicz@gmail.com), Trustin Lee
See Also:
CodedOutputStream

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler
ChannelHandler.Sharable
 
Constructor Summary
ProtobufVarint32LengthFieldPrepender()
          Creates a new instance.
 
Method Summary
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
handleDownstream
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProtobufVarint32LengthFieldPrepender

public ProtobufVarint32LengthFieldPrepender()
Creates a new instance.

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 return null, unlike you can in OneToOneDecoder.decode(ChannelHandlerContext, Channel, Object); you must return something, at least ChannelBuffers.EMPTY_BUFFER.

Specified by:
encode in class OneToOneEncoder
Throws:
Exception


Copyright © 2008-2011 JBoss, a division of Red Hat, Inc.. All Rights Reserved.