package backtype.storm.serialization; import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.Serializer; import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; import java.nio.ByteBuffer; /** * @author Cody (weiyue.wy@alibaba-inc.com) * @since 2.1.1 */ public class KryoByteBufferSerializer extends Serializer<ByteBuffer> { @Override public void write(Kryo kryo, Output output, ByteBuffer object) { output.writeInt(object.array().length); output.write(object.array()); } @Override public ByteBuffer read(Kryo kryo, Input input, Class<ByteBuffer> type) { int len = input.readInt(); return ByteBuffer.wrap(input.readBytes(len)); } }