Package net.spy.memcached
Interface OperationFactory
- All Known Implementing Classes:
AsciiOperationFactory
,BaseOperationFactory
,BinaryOperationFactory
public interface OperationFactory
Factory that builds operations for protocol handlers.
-
Method Summary
Modifier and TypeMethodDescriptioncas
(StoreType t, String key, long casId, int flags, int exp, byte[] data, StoreOperation.Callback cb) Create a CAS operation.cat
(ConcatenationType catType, long casId, String key, byte[] data, OperationCallback cb) Get a concatenation operation.clone
(KeyedOperation op) Clone an operation.delete
(String key, long cas, DeleteOperation.Callback callback) Create a deletion operation with CAS.delete
(String key, DeleteOperation.Callback callback) Create a deletion operation.flush
(int delay, OperationCallback operationCallback) Create a flush operation.get
(String key, GetOperation.Callback callback) Create a get operation.get
(Collection<String> keys, GetOperation.Callback cb) Create a get operation.getAndTouch
(String key, int expiration, GetAndTouchOperation.Callback cb) Gets the value of a key and resets its timeout.getl
(String key, int exp, GetlOperation.Callback callback) Create a getl operation.gets
(String key, GetsOperation.Callback callback) Create a gets operation.keyStats
(String key, StatsOperation.Callback cb) Get a new KeyStatsOperation.mutate
(Mutator m, String key, long by, long def, int exp, OperationCallback cb) Create a mutator operation.Create a NOOP operation.observe
(String key, long casId, int index, ObserveOperation.Callback operationCallback) Create an Observe operation.replicaGet
(String key, int index, ReplicaGetOperation.Callback callback) Create a replica get operation.replicaGets
(String key, int index, ReplicaGetsOperation.Callback callback) Create a replica gets operation.saslAuth
(String[] mech, String serverName, Map<String, ?> props, CallbackHandler cbh, OperationCallback cb) Create a new sasl auth operation.Create a new SASL mechs operation.saslStep
(String[] mech, byte[] challenge, String serverName, Map<String, ?> props, CallbackHandler cbh, OperationCallback cb) Create a new sasl step operation.stats
(String arg, StatsOperation.Callback cb) Get a new StatsOperation.store
(StoreType storeType, String key, int flags, int exp, byte[] data, StoreOperation.Callback cb) Create a store operation.tapAck
(TapOpcode opcode, int opaque, OperationCallback cb) Sends a tap ack message to the server.tapBackfill
(String id, long date, OperationCallback cb) Creates a tap backfill stream.tapCustom
(String id, RequestMessage message, OperationCallback cb) Creates a custom tap stream.tapDump
(String id, OperationCallback cb) Sends a tap dump message to the server.touch
(String key, int expiration, OperationCallback cb) Resets a keys expiration time.unlock
(String key, long casId, OperationCallback operationCallback) Create a Unlock operation.Create a new version operation.
-
Method Details
-
noop
Create a NOOP operation.- Parameters:
cb
- the operation callback- Returns:
- the new NoopOperation
-
delete
Create a deletion operation.- Parameters:
key
- the key to deletecallback
- the status callback- Returns:
- the new DeleteOperation
-
delete
Create a deletion operation with CAS.- Parameters:
key
- the key to deletecas
- the CAS value to pass alongcallback
- the status callback- Returns:
- the new DeleteOperation
-
unlock
Create a Unlock operation.- Parameters:
key
- the key to unlockcasId
- the value of CASoperationCallback
- the status callback- Returns:
- the new UnlockOperation
-
observe
ObserveOperation observe(String key, long casId, int index, ObserveOperation.Callback operationCallback) Create an Observe operation.- Parameters:
key
- the key to observecasId
- the value of CASindex
- the VBucket index of keyoperationCallback
- the status callback- Returns:
- the new ObserveOperation
-
flush
Create a flush operation.- Parameters:
delay
- delay until flush.operationCallback
- the status callback- Returns:
- the new FlushOperation
-
getAndTouch
Gets the value of a key and resets its timeout.- Parameters:
key
- the key to get a value for and reset its timeoutexpiration
- the new expiration for the keycb
- the callback that will contain the result- Returns:
- a new GATOperation
-
get
Create a get operation.- Parameters:
key
- the key to getcallback
- the callback that will contain the results- Returns:
- a new GetOperation
-
replicaGet
Create a replica get operation.- Parameters:
key
- the key to getcallback
- the callback that will contain the results- Returns:
- a new ReplicaGetOperation
-
replicaGets
Create a replica gets operation.- Parameters:
key
- the key to getcallback
- the callback that will contain the results- Returns:
- a new ReplicaGetOperation
-
getl
Create a getl operation. A getl gets the value for a key and then locks the value for a given amount of time. The maximum default lock time is 30 seconds.- Parameters:
key
- the key to get and lockexp
- the amount of time the lock should be valid for in seconds.callback
- the callback that will contain the results- Returns:
- a new GetOperation
-
gets
Create a gets operation.- Parameters:
key
- the key to getcallback
- the callback that will contain the results- Returns:
- a new GetsOperation
-
get
Create a get operation.- Parameters:
keys
- the collection of keys to getcb
- the callback that will contain the results- Returns:
- a new GetOperation
-
keyStats
Get a new KeyStatsOperation.- Parameters:
key
- the key to get stats forcb
- the stats callback- Returns:
- the new StatsOperation
-
mutate
Create a mutator operation.- Parameters:
m
- the mutator typekey
- the mutatee keyby
- the amount to increment or decrementdef
- the default valueexp
- expiration in case we need to default (0 if no default)cb
- the status callback- Returns:
- the new mutator operation
-
stats
Get a new StatsOperation.- Parameters:
arg
- the stat parameter (see protocol docs)cb
- the stats callback- Returns:
- the new StatsOperation
-
store
StoreOperation store(StoreType storeType, String key, int flags, int exp, byte[] data, StoreOperation.Callback cb) Create a store operation.- Parameters:
storeType
- the type of store operationkey
- the key to storeflags
- the storage flagsexp
- the expiration timedata
- the datacb
- the status callback- Returns:
- the new store operation
-
touch
Resets a keys expiration time.- Parameters:
key
- The key whose expiration time is to be reset.expiration
- The new expiration time for the keycb
- The status callback- Returns:
- A touch operation
-
cat
ConcatenationOperation cat(ConcatenationType catType, long casId, String key, byte[] data, OperationCallback cb) Get a concatenation operation.- Parameters:
catType
- the type of concatenation to perform.casId
- the CAS value for an atomic compare-and-catkey
- the keydata
- the data to storecb
- a callback for reporting the status- Returns:
- thew new ConcatenationOperation
-
cas
CASOperation cas(StoreType t, String key, long casId, int flags, int exp, byte[] data, StoreOperation.Callback cb) Create a CAS operation.- Parameters:
key
- the key to storecasId
- the CAS identifier value (from a gets operation)flags
- the storage flagsexp
- the expiration timedata
- the datacb
- the status callback- Returns:
- the new store operation
-
version
Create a new version operation. -
saslMechs
Create a new SASL mechs operation. -
saslAuth
SASLAuthOperation saslAuth(String[] mech, String serverName, Map<String, ?> props, CallbackHandler cbh, OperationCallback cb) Create a new sasl auth operation. -
saslStep
SASLStepOperation saslStep(String[] mech, byte[] challenge, String serverName, Map<String, ?> props, CallbackHandler cbh, OperationCallback cb) Create a new sasl step operation. -
clone
Clone an operation.This is used for requeueing operations after a server is found to be down.
Note that it returns more than one operation because a multi-get could potentially need to be played against a large number of underlying servers. In this case, there's a separate operation for each, and callback façade to reassemble them. It is left up to the operation pipeline to perform whatever optimization is required to turn these back into multi-gets.
- Parameters:
op
- the operation to clone- Returns:
- a new operation for each key in the original operation
-
tapBackfill
Creates a tap backfill stream. See http://www.couchbase.org/wiki/display/membase/TAP+Protocol for more details on the tap protocol. TAP connection names are optional, but allow for momentary interruptions in connection to automatically restart. TAP connection names also appear in TAP stats from the given server. Note that according to the protocol, TAP backfill dates are advisory and the protocol guarantees at least data from specified date forward, but earlier mutations may be received.- Parameters:
id
- The name for the TAP connectiondate
- The date to start backfill from.cb
- The status callback.- Returns:
- The tap operation used to create and handle the stream.
-
tapCustom
Creates a custom tap stream. See http://www.couchbase.org/wiki/display/membase/TAP+Protocol for more details on the tap protocol. TAP connection names are optional, but allow for momentary interruptions in connection to automatically restart. TAP connection names also appear in TAP stats from the given server.- Parameters:
id
- The name for the TAP connectionmessage
- The tap message to send.cb
- The status callback.- Returns:
- The tap operation used to create and handle the stream.
-
tapAck
Sends a tap ack message to the server. See http://www.couchbase.org/wiki/display/membase/TAP+Protocol for more details on the tap protocol.- Parameters:
opcode
- the opcode sent to the client by the server.opaque
- the opaque value sent to the client by the server.cb
- the callback for the tap stream.- Returns:
- a tap ack operation.
-
tapDump
Sends a tap dump message to the server. See http://www.couchbase.org/wiki/display/membase/TAP+Protocol for more details on the tap protocol.- Parameters:
id
- the name for the TAP connectioncb
- the callback for the tap stream.- Returns:
- a tap dump operation.
-