package com.alibaba.doris.client.net.protocol.text;
import org.jboss.netty.buffer.ChannelBuffer;
import com.alibaba.doris.client.net.command.Command;
import com.alibaba.doris.client.net.command.CompareAndDeleteCommand;
import com.alibaba.doris.common.data.Key;
import com.alibaba.doris.common.data.util.ByteUtils;
/**
* @author ajun Email:jack.yuj@alibaba-inc.com
*/
public class CompareAndDeleteProtocolParser extends DeleteProtocolParser {
@Override
public void encode(Command<?> commandData, ChannelBuffer buffer) {
CompareAndDeleteCommand delete = (CompareAndDeleteCommand) commandData;
Key key = delete.getKey();
if (null != key) {
byte[] keyBytes = key.getPhysicalKeyBytes();
byte[] timestampBytes = ByteUtils.stringToByte(String.valueOf(delete.getTimestamp()));
long routeVersion = key.getRouteVersion();
byte[] vnodeBytes = ByteUtils.stringToByte(Integer.toString(key.getVNode(), 10));
byte[] routeVersionBytes = ByteUtils.stringToByte(String.valueOf(routeVersion));
assemableCommandData(buffer, CAD, keyBytes, timestampBytes, routeVersionBytes, vnodeBytes);
}
}
}