/**
*Copyright [2009-2010] [dennis zhuang(killme2008@gmail.com)]
*Licensed under the Apache License, Version 2.0 (the "License");
*you may not use this file except in compliance with the License.
*You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
*Unless required by applicable law or agreed to in writing,
*software distributed under the License is distributed on an "AS IS" BASIS,
*WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
*either express or implied. See the License for the specific language governing permissions and limitations under the License
*/
/**
*Copyright [2009-2010] [dennis zhuang(killme2008@gmail.com)]
*Licensed under the Apache License, Version 2.0 (the "License");
*you may not use this file except in compliance with the License.
*You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
*Unless required by applicable law or agreed to in writing,
*software distributed under the License is distributed on an "AS IS" BASIS,
*WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
*either express or implied. See the License for the specific language governing permissions and limitations under the License
*/
package net.rubyeye.xmemcached.command.binary;
/**
* Binary command Opcodes
*
* @author dennis
*
*/
public enum OpCode {
GET {
@Override
public byte fieldValue() {
return 0x00;
}
},
GET_QUIETLY {
@Override
public byte fieldValue() {
return 0x09;
}
},
GET_KEY {
@Override
public byte fieldValue() {
return 0x0C;
}
},
GET_KEY_QUIETLY {
@Override
public byte fieldValue() {
return 0x0D;
}
},
SET {
@Override
public byte fieldValue() {
return 0x01;
}
},
SET_QUIETLY {
@Override
public byte fieldValue() {
return 0x11;
}
},
REPLACE {
@Override
public byte fieldValue() {
return 0x03;
}
},
REPLACE_QUIETLY {
@Override
public byte fieldValue() {
return 0x13;
}
},
ADD {
@Override
public byte fieldValue() {
return 0x02;
}
},
ADD_QUIETLY {
@Override
public byte fieldValue() {
return 0x12;
}
},
APPEND {
@Override
public byte fieldValue() {
return 0x0E;
}
},
APPEND_QUIETLY {
@Override
public byte fieldValue() {
return 0x19;
}
},
PREPEND {
@Override
public byte fieldValue() {
return 0x0F;
}
},
PREPEND_QUIETLY {
@Override
public byte fieldValue() {
return 0x1A;
}
},
DELETE {
@Override
public byte fieldValue() {
return 0x04;
}
},
DELETE_QUIETLY {
@Override
public byte fieldValue() {
return 0x14;
}
},
VERSION {
@Override
public byte fieldValue() {
return 0x0b;
}
},
QUITQ {
@Override
public byte fieldValue() {
return 0x17;
}
},
STAT {
@Override
public byte fieldValue() {
return 0x10;
}
},
NOOP {
@Override
public byte fieldValue() {
return 0x0a;
}
},
INCREMENT {
@Override
public byte fieldValue() {
return 0x05;
}
},
INCREMENT_QUIETLY {
@Override
public byte fieldValue() {
return 0x15;
}
},
DECREMENT {
@Override
public byte fieldValue() {
return 0x06;
}
},
DECREMENT_QUIETLY {
@Override
public byte fieldValue() {
return 0x16;
}
},
FLUSH {
@Override
public byte fieldValue() {
return 0x08;
}
},
FLUSH_QUIETLY {
@Override
public byte fieldValue() {
return 0x18;
}
},
AUTH_LIST_MECHANISMS {
@Override
public byte fieldValue() {
return 0x20;
}
},
AUTH_START {
@Override
public byte fieldValue() {
return 0x21;
}
},
AUTH_STEP {
@Override
public byte fieldValue() {
return 0x22;
}
},
VERBOSITY {
@Override
public byte fieldValue() {
return 0x1b;
}
},
TOUCH {
@Override
public byte fieldValue() {
return 0x1c;
}
},
GAT {
@Override
public byte fieldValue() {
return 0x1d;
}
},
GATQ {
@Override
public byte fieldValue() {
return 0x1e;
}
},
// AWS ElasticCache config commands
// https://github.com/awslabs/aws-elasticache-cluster-client-memcached-for-java/commit/70bf7643963500db20749d97c071b64b954eabb3
CONFIG_GET {
@Override
public byte fieldValue() {
return 0x60;
}
},
CONFIG_SET {
@Override
public byte fieldValue() {
return 0x64;
}
},
CONFIG_DEL {
@Override
public byte fieldValue() {
return 0x66;
}
};
public abstract byte fieldValue();
}