/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.quickserverlab.quickcached.binary; import com.quickserverlab.quickcached.Util; /** * * @author akshath */ public class ResponseHeader extends Header { public static final String STATUS_NO_ERROR = "0000"; public static final String KEY_NOT_FOUND = "0001"; public static final String KEY_EXISTS = "0002"; public static final String INVALID_ARGUMENTS = "0004"; public static final String ITEM_NOT_STORED = "0005"; public static final String UNKNOWN_COMMAND = "0081"; public static final String INTERNAL_ERROR = "0084"; private String status; public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String encodedString() { StringBuilder sb = new StringBuilder(); sb.append(getMagic()); sb.append(getOpcode()); sb.append(Util.prefixZerros(Util.decimal2hex(getKeyLength()),4)); sb.append(Util.prefixZerros(Util.decimal2hex(getExtrasLength()),2)); sb.append(getDataType()); sb.append(getStatus()); sb.append(Util.prefixZerros(Util.decimal2hex(getTotalBodyLength()),8)); sb.append(Util.prefixZerros(getOpaque(),8)); if(getCas()!=null) { sb.append(Util.prefixZerros(getCas(),16)); } else { sb.append(Util.prefixZerros(0,16)); } return sb.toString(); } public String toString() { StringBuilder sb = new StringBuilder(); sb.append("[RequestHeader {"); sb.append("Magic:"); sb.append(getMagic()); sb.append(", Opcode:"); sb.append(getOpcode()); sb.append(", KeyLength:"); sb.append(getKeyLength()); sb.append(", ExtrasLength:"); sb.append(getExtrasLength()); sb.append(", DataType:"); sb.append(getDataType()); sb.append(", Status:"); sb.append(getStatus()); sb.append(", TotalBodyLength:"); sb.append(getTotalBodyLength()); sb.append(", Opaque:"); sb.append(getOpaque()); sb.append(", Cas:"); if(getCas()!=null) sb.append(getCas()); sb.append("}]"); return sb.toString(); } }