package com.alibaba.doris.dataserver.store.serialize;
import java.nio.ByteBuffer;
/**
* @author ajun Email:jack.yuj@alibaba-inc.com
*/
public abstract class BaseSerializer<T> implements Serializer<T> {
/**
* get buffer from buffer pool.
*
* @param size
* @return
*/
protected ByteBuffer getByteBuffer(int size) {
ByteBuffer buffer = threadLocalBasedBufferPool.get();
if (null == buffer || buffer.capacity() < size) {
buffer = ByteBuffer.allocate(size);
threadLocalBasedBufferPool.set(buffer);
} else {
buffer.clear();
}
return buffer;
}
private final ThreadLocal<ByteBuffer> threadLocalBasedBufferPool = new ThreadLocal<ByteBuffer>();
}