Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.netty.handler.codec.protobuf
Class ProtobufEncoder

    java.lang.Object
      org.jboss.netty.handler.codec.oneone.OneToOneEncoder
          org.jboss.netty.handler.codec.protobuf.ProtobufEncoder

All Implemented Interfaces:
  ChannelDownstreamHandler, ChannelHandler

    @ChannelHandler.Sharable
    public class ProtobufEncoder

extends OneToOneEncoder

Encodes the requested Google Protocol Buffers `Message` and `MessageLite` into a `ChannelBuffer`. 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

Nested Class Summary

Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler
`ChannelHandler.Sharable`

Constructor Summary
`ProtobufEncoder()` 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

### ProtobufEncoder

    public ProtobufEncoder()

  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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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