Class BaseBinaryCommand
- java.lang.Object
-
- net.rubyeye.xmemcached.command.Command
-
- net.rubyeye.xmemcached.command.binary.BaseBinaryCommand
-
- All Implemented Interfaces:
WriteMessage,StoreCommand
- Direct Known Subclasses:
BinaryAppendPrependCommand,BinaryAuthListMechanismsCommand,BinaryAuthStartCommand,BinaryAuthStepCommand,BinaryAWSElasticCacheConfigCommand,BinaryCASCommand,BinaryDeleteCommand,BinaryFlushAllCommand,BinaryGetCommand,BinaryGetMultiCommand,BinaryIncrDecrCommand,BinaryNoopCommand,BinaryQuitCommand,BinarySetMultiCommand,BinaryStatsCommand,BinaryStoreCommand,BinaryTouchCommand,BinaryVerbosityCommand,BinaryVersionCommand
public abstract class BaseBinaryCommand extends Command implements StoreCommand
Base Binary command.
-
-
Field Summary
Fields Modifier and Type Field Description protected longcasprotected BinaryDecodeStatusdecodeStatus(package private) static shortDEFAULT_VBUCKET_IDprotected intexpTime(package private) static byteEXTRAS_LENGTHSet,add,replace protocol's extras lengthprotected intopaqueprotected OpCodeopCodeprotected intresponseExtrasLengthprotected intresponseKeyLengthprotected ResponseStatusresponseStatusprotected intresponseTotalBodyLengthprotected java.lang.Objectvalueprotected shortvbucketId-
Fields inherited from class net.rubyeye.xmemcached.command.Command
cancel, commandType, exception, ioBuffer, key, keyBytes, latch, mergeCount, noreply, REQUEST_MAGIC_NUMBER, RESPONSE_MAGIC_NUMBER, result, status, transcoder, writeFuture
-
-
Constructor Summary
Constructors Constructor Description BaseBinaryCommand(java.lang.String key, byte[] keyBytes, CommandType cmdType, java.util.concurrent.CountDownLatch latch, int exp, long cas, java.lang.Object value, boolean noreply, Transcoder transcoder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleandecode(MemcachedTCPSession session, java.nio.ByteBuffer buffer)voidencode()protected voidfillExtras(CachedData data)private voidfillHeader(CachedData data)protected voidfillKey()protected voidfillValue(CachedData data)protected booleanfinish()longgetCas()protected longgetCasValue()intgetExpTime()protected bytegetExtrasLength()protected shortgetKeyLength()intgetOpaque()OpCodegetOpCode()ResponseStatusgetResponseStatus()TranscodergetTranscoder()java.lang.ObjectgetValue()protected intgetValueLength(CachedData data)private voidmarkBuffer(java.nio.ByteBuffer buffer)private intreadBodyLength(java.nio.ByteBuffer buffer)protected longreadCAS(java.nio.ByteBuffer buffer)private bytereadDataType(java.nio.ByteBuffer buffer)protected booleanreadExtras(java.nio.ByteBuffer buffer, int extrasLength)private intreadExtrasLength(java.nio.ByteBuffer buffer)protected voidreadHeader(java.nio.ByteBuffer buffer)protected booleanreadKey(java.nio.ByteBuffer buffer, int keyLength)private intreadKeyLength(java.nio.ByteBuffer buffer)private voidreadMagicNumber(java.nio.ByteBuffer buffer)protected booleanreadOpaque(java.nio.ByteBuffer buffer)protected booleanreadOpCode(java.nio.ByteBuffer buffer)protected voidreadStatus(java.nio.ByteBuffer buffer)protected booleanreadValue(java.nio.ByteBuffer buffer, int bodyLength, int keyLength, int extrasLength)voidsetCas(long cas)voidsetExpTime(int exp)voidsetOpaque(int opaque)voidsetOpCode(OpCode opCode)voidsetResponseStatus(ResponseStatus responseStatus)voidsetTranscoder(Transcoder transcoder)voidsetValue(java.lang.Object value)-
Methods inherited from class net.rubyeye.xmemcached.command.Command
cancel, countDownLatch, decodeError, decodeError, decodeError, decodeError, getCommandType, getCopiedMergeCount, getException, getIoBuffer, getKey, getKeyBytes, getLatch, getMergeCount, getMessage, getResult, getStatus, getWriteBuffer, getWriteFuture, isAdded, isCancel, isNoreply, isWriting, setAdded, setCommandType, setException, setIoBuffer, setKey, setKeyBytes, setLatch, setMergeCount, setNoreply, setResult, setStatus, setWriteBuffer, setWriteFuture, toString, writing
-
-
-
-
Field Detail
-
DEFAULT_VBUCKET_ID
static final short DEFAULT_VBUCKET_ID
- See Also:
- Constant Field Values
-
expTime
protected int expTime
-
cas
protected long cas
-
value
protected java.lang.Object value
-
opCode
protected OpCode opCode
-
decodeStatus
protected BinaryDecodeStatus decodeStatus
-
responseKeyLength
protected int responseKeyLength
-
responseExtrasLength
protected int responseExtrasLength
-
responseTotalBodyLength
protected int responseTotalBodyLength
-
responseStatus
protected ResponseStatus responseStatus
-
opaque
protected int opaque
-
vbucketId
protected short vbucketId
-
EXTRAS_LENGTH
static final byte EXTRAS_LENGTH
Set,add,replace protocol's extras length- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BaseBinaryCommand
public BaseBinaryCommand(java.lang.String key, byte[] keyBytes, CommandType cmdType, java.util.concurrent.CountDownLatch latch, int exp, long cas, java.lang.Object value, boolean noreply, Transcoder transcoder)
-
-
Method Detail
-
getExpTime
public final int getExpTime()
-
setExpTime
public final void setExpTime(int exp)
-
getCas
public final long getCas()
-
getOpaque
public int getOpaque()
-
setOpaque
public void setOpaque(int opaque)
-
setCas
public final void setCas(long cas)
-
getValue
public final java.lang.Object getValue()
- Specified by:
getValuein interfaceStoreCommand
-
setValue
public final void setValue(java.lang.Object value)
- Specified by:
setValuein interfaceStoreCommand
-
getTranscoder
public final Transcoder getTranscoder()
- Overrides:
getTranscoderin classCommand
-
setTranscoder
public final void setTranscoder(Transcoder transcoder)
- Overrides:
setTranscoderin classCommand
-
decode
public boolean decode(MemcachedTCPSession session, java.nio.ByteBuffer buffer)
-
finish
protected boolean finish()
-
readHeader
protected void readHeader(java.nio.ByteBuffer buffer)
-
markBuffer
private void markBuffer(java.nio.ByteBuffer buffer)
-
readOpaque
protected boolean readOpaque(java.nio.ByteBuffer buffer)
-
readCAS
protected long readCAS(java.nio.ByteBuffer buffer)
-
readKey
protected boolean readKey(java.nio.ByteBuffer buffer, int keyLength)
-
readValue
protected boolean readValue(java.nio.ByteBuffer buffer, int bodyLength, int keyLength, int extrasLength)
-
readExtras
protected boolean readExtras(java.nio.ByteBuffer buffer, int extrasLength)
-
readBodyLength
private int readBodyLength(java.nio.ByteBuffer buffer)
-
readStatus
protected void readStatus(java.nio.ByteBuffer buffer)
-
getOpCode
public final OpCode getOpCode()
-
setOpCode
public final void setOpCode(OpCode opCode)
-
getResponseStatus
public final ResponseStatus getResponseStatus()
-
setResponseStatus
public final void setResponseStatus(ResponseStatus responseStatus)
-
readKeyLength
private int readKeyLength(java.nio.ByteBuffer buffer)
-
readExtrasLength
private int readExtrasLength(java.nio.ByteBuffer buffer)
-
readDataType
private byte readDataType(java.nio.ByteBuffer buffer)
-
readOpCode
protected boolean readOpCode(java.nio.ByteBuffer buffer)
-
readMagicNumber
private void readMagicNumber(java.nio.ByteBuffer buffer)
-
fillValue
protected void fillValue(CachedData data)
-
fillKey
protected void fillKey()
-
fillExtras
protected void fillExtras(CachedData data)
-
fillHeader
private void fillHeader(CachedData data)
-
getCasValue
protected long getCasValue()
-
getValueLength
protected int getValueLength(CachedData data)
-
getKeyLength
protected short getKeyLength()
-
getExtrasLength
protected byte getExtrasLength()
-
-