/** * Initiate the Pipeline for the newly active connection. */ @Override protected void initChannel(C ch) throws Exception { ChannelPipeline pipeline = ch.pipeline(); // IN pipeline.addLast("decompressor", new SnappyFrameDecoder()); pipeline.addLast("decoder", new MessageDecoder(handler.component)); pipeline.addLast("handler", handler); //pipeline.addBefore("handler", "handlerLogger", new LoggingHandler("handlerLogger")); //pipeline.addBefore("handler", "decoder", new MessageDecoder()); //pipeline.addBefore("decoder", "decoderLogger", new LoggingHandler("decoderLogger")); //pipeline.addBefore("decoderLogger", "deframer", new LengthFieldBasedFrameDecoder(65532, 0, 2)); //2^16 - 2bytes for the length header (snappy wants to more than 65536 bytes uncompressed) //pipeline.addBefore("deframer", "deframerLogger", new LoggingHandler("deframerLogger")); //pipeline.addBefore("decoder", "decompressor", new SnappyFramedDecoder()); // OUT pipeline.addLast("compressor", new SnappyFrameEncoder()); pipeline.addLast("encoder", new MessageEncoder(handler.component)); //pipeline.addAfter("encoder", "encoderLogger", new LoggingHandler("encoderLogger")); //pipeline.addAfter("encoderLogger", "framer", new LengthFieldPrepender(2)); //pipeline.addAfter("framer", "framerLogger", new LoggingHandler("framerLogger")); //pipeline.addAfter("encoder", "compressor", new SnappyFramedEncoder()); } }