Class MultiGetOperationImpl
- java.lang.Object
-
- net.spy.memcached.compat.SpyObject
-
- net.spy.memcached.protocol.BaseOperationImpl
-
- net.spy.memcached.protocol.binary.OperationImpl
-
- net.spy.memcached.protocol.binary.MultiKeyOperationImpl
-
- net.spy.memcached.protocol.binary.MultiGetOperationImpl
-
- All Implemented Interfaces:
GetOperation
,KeyedOperation
,Operation
,VBucketAware
- Direct Known Subclasses:
OptimizedGetImpl
public class MultiGetOperationImpl extends MultiKeyOperationImpl implements GetOperation
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.spy.memcached.ops.GetOperation
GetOperation.Callback
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.Integer,byte[]>
bkeys
private static byte
CMD_GETQ
private java.util.Map<java.lang.Integer,java.lang.String>
keys
private java.util.List<java.lang.String>
retryKeys
private java.util.Map<java.lang.String,java.lang.Integer>
rkeys
private int
terminalOpaque
-
Fields inherited from class net.spy.memcached.protocol.binary.MultiKeyOperationImpl
vbmap
-
Fields inherited from class net.spy.memcached.protocol.binary.OperationImpl
DUMMY_OPCODE, EMPTY_BYTES, ERR_2BIG, ERR_BUSY, ERR_DELTA_BADVAL, ERR_EXISTS, ERR_INTERNAL, ERR_INVAL, ERR_NO_MEM, ERR_NOT_FOUND, ERR_NOT_MY_VBUCKET, ERR_NOT_STORED, ERR_NOT_SUPPORTED, ERR_TEMP_FAIL, ERR_UNKNOWN_COMMAND, errorCode, keyLen, MIN_RECV_PACKET, opaque, REQ_MAGIC, RES_MAGIC, responseCas, responseCmd, responseOpaque, STATUS_OK, SUCCESS, vbucket
-
Fields inherited from class net.spy.memcached.protocol.BaseOperationImpl
callback, CANCELLED, notMyVbucketNodes, TIMED_OUT
-
-
Constructor Summary
Constructors Constructor Description MultiGetOperationImpl(java.util.Collection<java.lang.String> k, OperationCallback cb)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
addKey(java.lang.String k)
Add a key (and return its new opaque value).protected void
finishedPayload(byte[] pl)
java.util.List<java.lang.String>
getRetryKeys()
Returns the keys to redistribute.void
initialize()
Initialize this operation.protected boolean
opaqueIsValid()
Validate an opaque value from the header.-
Methods inherited from class net.spy.memcached.protocol.binary.MultiKeyOperationImpl
addNotMyVbucketNode, getKeys, getNotMyVbucketNodes, getVBucket, setNotMyVbucketNodes, setVBucket, toString
-
Methods inherited from class net.spy.memcached.protocol.binary.OperationImpl
decodeByte, decodeInt, decodeLong, decodePayload, decodeShort, decodeUnsignedInt, generateOpaque, getErrorMsg, getStatusForErrorCode, prepareBuffer, readFromBuffer, resetInput
-
Methods inherited from class net.spy.memcached.protocol.BaseOperationImpl
addClone, cancel, getBuffer, getCallback, getCloneCount, getException, getHandlingNode, getState, getWriteCompleteTimestamp, handleError, handleRead, hasErrored, isCancelled, isTimedOut, isTimedOut, isTimedOutUnsent, setBuffer, setCallback, setCloneCount, setHandlingNode, timeOut, transitionState, wasCancelled, writeComplete, writing
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.spy.memcached.ops.KeyedOperation
getKeys
-
Methods inherited from interface net.spy.memcached.ops.Operation
addClone, cancel, getBuffer, getCallback, getCloneCount, getErrorMsg, getException, getHandlingNode, getState, getWriteCompleteTimestamp, handleRead, hasErrored, isCancelled, isTimedOut, isTimedOut, isTimedOutUnsent, readFromBuffer, setCloneCount, setHandlingNode, timeOut, writeComplete, writing
-
-
-
-
Field Detail
-
CMD_GETQ
private static final byte CMD_GETQ
- See Also:
- Constant Field Values
-
keys
private final java.util.Map<java.lang.Integer,java.lang.String> keys
-
bkeys
private final java.util.Map<java.lang.Integer,byte[]> bkeys
-
rkeys
private final java.util.Map<java.lang.String,java.lang.Integer> rkeys
-
terminalOpaque
private final int terminalOpaque
-
retryKeys
private final java.util.List<java.lang.String> retryKeys
-
-
Constructor Detail
-
MultiGetOperationImpl
public MultiGetOperationImpl(java.util.Collection<java.lang.String> k, OperationCallback cb)
-
-
Method Detail
-
addKey
protected int addKey(java.lang.String k)
Add a key (and return its new opaque value).
-
initialize
public void initialize()
Description copied from interface:Operation
Initialize this operation. This is used to prepare output byte buffers and stuff.- Specified by:
initialize
in interfaceOperation
- Specified by:
initialize
in classBaseOperationImpl
-
finishedPayload
protected void finishedPayload(byte[] pl) throws java.io.IOException
- Overrides:
finishedPayload
in classOperationImpl
- Throws:
java.io.IOException
-
opaqueIsValid
protected boolean opaqueIsValid()
Description copied from class:OperationImpl
Validate an opaque value from the header. This may be overridden from a subclass where the opaque isn't expected to always be the same as the request opaque.- Overrides:
opaqueIsValid
in classOperationImpl
-
getRetryKeys
public java.util.List<java.lang.String> getRetryKeys()
Returns the keys to redistribute.- Returns:
- the keys to retry.
-
-