package com.alibaba.doris.dataserver.action.parser; import com.alibaba.doris.dataserver.action.data.ActionData; import com.alibaba.doris.dataserver.action.data.BaseActionType; import com.alibaba.doris.dataserver.action.data.CompareAndDeleteActionData; import com.alibaba.doris.dataserver.action.data.SimpleActionData; import com.alibaba.doris.dataserver.net.ByteBufferWrapper; import com.alibaba.doris.dataserver.net.protocol.text.ProtocolConstant; /** * @author ajun Email:jack.yuj@alibaba-inc.com */ public class DeleteActionParser extends BaseActionParser { public void writeHead(ByteBufferWrapper buffer, ActionData actionData) { SimpleActionData md = (SimpleActionData) actionData; if (md.isSuccess()) { buffer.writeBytes(ProtocolConstant.DELETED); buffer.writeBytes(ProtocolConstant.CRLF); return; } else { if (md instanceof CompareAndDeleteActionData) { if (((CompareAndDeleteActionData) md).isDeleteFailed()) { buffer.writeBytes(ProtocolConstant.DELETE_FAILED); buffer.writeBytes(ProtocolConstant.CRLF); return; } } buffer.writeBytes(ProtocolConstant.NOT_FOUND); buffer.writeBytes(ProtocolConstant.CRLF); } } public ActionData readHead(byte[] header, int startPos) { SimpleActionData ad = new SimpleActionData(BaseActionType.DELETE); int[] pos = { startPos }; readKeyBytes(ad, header, pos); readRouteVersion(ad, header, pos); readVnode(ad, header, pos); return ad; } }