package com.alibaba.doris.dataserver.store.log.serialize; import java.nio.ByteBuffer; import com.alibaba.doris.dataserver.store.log.entry.ClumpHeadEntry; import com.alibaba.doris.dataserver.store.log.entry.LogEntry; /** * @author ajun Email:jack.yuj@alibaba-inc.com */ public interface LogSerializer { /** * 将Log头部信息数据转换成byte,并存入buffer。 * * @param buffer * @param head */ public void writeHead(ByteBuffer buffer, ClumpHeadEntry head); /** * 将一条Log记录,存入buffer * * @param buffer * @param logEntry */ public boolean writeLogEntry(ByteBuffer buffer, LogEntry logEntry); /** * 从buffer中读取Log头部信息。 * * @param buffer * @return */ public ClumpHeadEntry readHead(ByteBuffer buffer); /** * 从buffer中读取一条Log记录 * * @param buffer * @return */ public LogEntry readLogEntry(ByteBuffer buffer); public int readVersion(ByteBuffer buffer); public void writeVersion(ByteBuffer buffer, int version); }