code: private void handleSnappyDecompression(final ChannelHandlerContext ctx, final FullBinaryMemcacheResponse response) {
          ByteBuf decompressed;
          if (response.content().readableBytes() > 0) {
              // we need to copy it on-heap...
              byte[] compressed = Unpooled.copiedBuffer(response.content()).array();
              try {
                  decompressed = Unpooled.wrappedBuffer(Snappy.uncompress(compressed, 0, compressed.length));
              } catch (Exception ex) {
                  throw new RuntimeException("Could not decode snappy-compressed value.", ex);
              }
          } else {
              decompressed = Unpooled.buffer(0);
          }
  
  
          response.content().release();
          response.setContent(decompressed);
          response.setTotalBodyLength(
              response.getExtrasLength()
                  + response.getKeyLength()
                  + decompressed.readableBytes()
          );
          response.setDataType((byte) (response.getDataType() & ~DATATYPE_SNAPPY));
      }
docs: Helper method which performs decompression for snappy compressed values.