if (dataLength < MIN_COMPRESSIBLE_LENGTH) { ByteBuf slice = in.readSlice(dataLength); writeUnencodedChunk(slice, out, dataLength); break; if (dataLength > Short.MAX_VALUE) { ByteBuf slice = in.readSlice(Short.MAX_VALUE); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, Short.MAX_VALUE); setChunkLength(out, lengthIdx); dataLength -= Short.MAX_VALUE; } else { ByteBuf slice = in.readSlice(dataLength); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, dataLength); setChunkLength(out, lengthIdx); break; writeUnencodedChunk(in, out, dataLength);
private static void writeUnencodedChunk(ByteBuf in, ByteBuf out, int dataLength) { out.writeByte(1); writeChunkLength(out, dataLength + 4); calculateAndWriteChecksum(in, out); out.writeBytes(in, dataLength); }
/** * 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()); } }
p.addLast(new SnappyFrameEncoder());
if (dataLength < MIN_COMPRESSIBLE_LENGTH) { ByteBuf slice = in.readSlice(dataLength); writeUnencodedChunk(slice, out, dataLength); break; if (dataLength > Short.MAX_VALUE) { ByteBuf slice = in.readSlice(Short.MAX_VALUE); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, Short.MAX_VALUE); setChunkLength(out, lengthIdx); dataLength -= Short.MAX_VALUE; } else { ByteBuf slice = in.readSlice(dataLength); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, dataLength); setChunkLength(out, lengthIdx); break; writeUnencodedChunk(in, out, dataLength);
private static void writeUnencodedChunk(ByteBuf in, ByteBuf out, int dataLength) { out.writeByte(1); writeChunkLength(out, dataLength + 4); calculateAndWriteChecksum(in, out); out.writeBytes(in, dataLength); }
if (dataLength < MIN_COMPRESSIBLE_LENGTH) { ByteBuf slice = in.readSlice(dataLength); writeUnencodedChunk(slice, out, dataLength); break; if (dataLength > Short.MAX_VALUE) { ByteBuf slice = in.readSlice(Short.MAX_VALUE); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, Short.MAX_VALUE); setChunkLength(out, lengthIdx); dataLength -= Short.MAX_VALUE; } else { ByteBuf slice = in.readSlice(dataLength); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, dataLength); setChunkLength(out, lengthIdx); break; writeUnencodedChunk(in, out, dataLength);
private static void writeUnencodedChunk(ByteBuf in, ByteBuf out, int dataLength) { out.writeByte(1); writeChunkLength(out, dataLength + 4); calculateAndWriteChecksum(in, out); out.writeBytes(in, dataLength); }
if (dataLength < MIN_COMPRESSIBLE_LENGTH) { ByteBuf slice = in.readSlice(dataLength); writeUnencodedChunk(slice, out, dataLength); break; if (dataLength > Short.MAX_VALUE) { ByteBuf slice = in.readSlice(Short.MAX_VALUE); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, Short.MAX_VALUE); setChunkLength(out, lengthIdx); dataLength -= Short.MAX_VALUE; } else { ByteBuf slice = in.readSlice(dataLength); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, dataLength); setChunkLength(out, lengthIdx); break; writeUnencodedChunk(in, out, dataLength);
private static void writeUnencodedChunk(ByteBuf in, ByteBuf out, int dataLength) { out.writeByte(1); writeChunkLength(out, dataLength + 4); calculateAndWriteChecksum(in, out); out.writeBytes(in, dataLength); }
if (dataLength < MIN_COMPRESSIBLE_LENGTH) { ByteBuf slice = in.readSlice(dataLength); writeUnencodedChunk(slice, out, dataLength); break; if (dataLength > Short.MAX_VALUE) { ByteBuf slice = in.readSlice(Short.MAX_VALUE); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, Short.MAX_VALUE); setChunkLength(out, lengthIdx); dataLength -= Short.MAX_VALUE; } else { ByteBuf slice = in.readSlice(dataLength); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, dataLength); setChunkLength(out, lengthIdx); break; writeUnencodedChunk(in, out, dataLength);
private static void writeUnencodedChunk(ByteBuf in, ByteBuf out, int dataLength) { out.writeByte(1); writeChunkLength(out, dataLength + 4); calculateAndWriteChecksum(in, out); out.writeBytes(in, dataLength); }
if (dataLength < MIN_COMPRESSIBLE_LENGTH) { ByteBuf slice = in.readSlice(dataLength); writeUnencodedChunk(slice, out, dataLength); break; if (dataLength > Short.MAX_VALUE) { ByteBuf slice = in.readSlice(Short.MAX_VALUE); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, Short.MAX_VALUE); setChunkLength(out, lengthIdx); dataLength -= Short.MAX_VALUE; } else { ByteBuf slice = in.readSlice(dataLength); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, dataLength); setChunkLength(out, lengthIdx); break; writeUnencodedChunk(in, out, dataLength);
private static void writeUnencodedChunk(ByteBuf in, ByteBuf out, int dataLength) { out.writeByte(1); writeChunkLength(out, dataLength + 4); calculateAndWriteChecksum(in, out); out.writeBytes(in, dataLength); }
if (dataLength < MIN_COMPRESSIBLE_LENGTH) { ByteBuf slice = in.readSlice(dataLength); writeUnencodedChunk(slice, out, dataLength); break; if (dataLength > Short.MAX_VALUE) { ByteBuf slice = in.readSlice(Short.MAX_VALUE); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, Short.MAX_VALUE); setChunkLength(out, lengthIdx); dataLength -= Short.MAX_VALUE; } else { ByteBuf slice = in.readSlice(dataLength); calculateAndWriteChecksum(slice, out); snappy.encode(slice, out, dataLength); setChunkLength(out, lengthIdx); break; writeUnencodedChunk(in, out, dataLength);
private static void writeUnencodedChunk(ByteBuf in, ByteBuf out, int dataLength) { out.writeByte(1); writeChunkLength(out, dataLength + 4); calculateAndWriteChecksum(in, out); out.writeBytes(in, dataLength); }