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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CASOperation
cas(StoreType t, java.lang.String key, long casId, int flags, int exp, byte[] data, StoreOperation.Callback cb)
Create a CAS operation.ConcatenationOperation
cat(ConcatenationType catType, long casId, java.lang.String key, byte[] data, OperationCallback cb)
Get a concatenation operation.java.util.Collection<Operation>
clone(KeyedOperation op)
Clone an operation.DeleteOperation
delete(java.lang.String key, long cas, DeleteOperation.Callback callback)
Create a deletion operation with CAS.DeleteOperation
delete(java.lang.String key, DeleteOperation.Callback callback)
Create a deletion operation.FlushOperation
flush(int delay, OperationCallback operationCallback)
Create a flush operation.GetOperation
get(java.lang.String key, GetOperation.Callback callback)
Create a get operation.GetOperation
get(java.util.Collection<java.lang.String> keys, GetOperation.Callback cb)
Create a get operation.GetAndTouchOperation
getAndTouch(java.lang.String key, int expiration, GetAndTouchOperation.Callback cb)
Gets the value of a key and resets its timeout.GetlOperation
getl(java.lang.String key, int exp, GetlOperation.Callback callback)
Create a getl operation.GetsOperation
gets(java.lang.String key, GetsOperation.Callback callback)
Create a gets operation.StatsOperation
keyStats(java.lang.String key, StatsOperation.Callback cb)
Get a new KeyStatsOperation.MutatorOperation
mutate(Mutator m, java.lang.String key, long by, long def, int exp, OperationCallback cb)
Create a mutator operation.NoopOperation
noop(OperationCallback cb)
Create a NOOP operation.ObserveOperation
observe(java.lang.String key, long casId, int index, ObserveOperation.Callback operationCallback)
Create an Observe operation.ReplicaGetOperation
replicaGet(java.lang.String key, int index, ReplicaGetOperation.Callback callback)
Create a replica get operation.ReplicaGetsOperation
replicaGets(java.lang.String key, int index, ReplicaGetsOperation.Callback callback)
Create a replica gets operation.SASLAuthOperation
saslAuth(java.lang.String[] mech, java.lang.String serverName, java.util.Map<java.lang.String,?> props, javax.security.auth.callback.CallbackHandler cbh, OperationCallback cb)
Create a new sasl auth operation.SASLMechsOperation
saslMechs(OperationCallback cb)
Create a new SASL mechs operation.SASLStepOperation
saslStep(java.lang.String[] mech, byte[] challenge, java.lang.String serverName, java.util.Map<java.lang.String,?> props, javax.security.auth.callback.CallbackHandler cbh, OperationCallback cb)
Create a new sasl step operation.StatsOperation
stats(java.lang.String arg, StatsOperation.Callback cb)
Get a new StatsOperation.StoreOperation
store(StoreType storeType, java.lang.String key, int flags, int exp, byte[] data, StoreOperation.Callback cb)
Create a store operation.TapOperation
tapAck(TapOpcode opcode, int opaque, OperationCallback cb)
Sends a tap ack message to the server.TapOperation
tapBackfill(java.lang.String id, long date, OperationCallback cb)
Creates a tap backfill stream.TapOperation
tapCustom(java.lang.String id, RequestMessage message, OperationCallback cb)
Creates a custom tap stream.TapOperation
tapDump(java.lang.String id, OperationCallback cb)
Sends a tap dump message to the server.TouchOperation
touch(java.lang.String key, int expiration, OperationCallback cb)
Resets a keys expiration time.UnlockOperation
unlock(java.lang.String key, long casId, OperationCallback operationCallback)
Create a Unlock operation.VersionOperation
version(OperationCallback cb)
Create a new version operation.
-
-
-
Method Detail
-
noop
NoopOperation noop(OperationCallback cb)
Create a NOOP operation.- Parameters:
cb
- the operation callback- Returns:
- the new NoopOperation
-
delete
DeleteOperation delete(java.lang.String key, DeleteOperation.Callback callback)
Create a deletion operation.- Parameters:
key
- the key to deletecallback
- the status callback- Returns:
- the new DeleteOperation
-
delete
DeleteOperation delete(java.lang.String key, long cas, DeleteOperation.Callback callback)
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
UnlockOperation unlock(java.lang.String key, long casId, OperationCallback operationCallback)
Create a Unlock operation.- Parameters:
key
- the key to unlockcasId
- the value of CASoperationCallback
- the status callback- Returns:
- the new UnlockOperation
-
observe
ObserveOperation observe(java.lang.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
FlushOperation flush(int delay, OperationCallback operationCallback)
Create a flush operation.- Parameters:
delay
- delay until flush.operationCallback
- the status callback- Returns:
- the new FlushOperation
-
getAndTouch
GetAndTouchOperation getAndTouch(java.lang.String key, int expiration, GetAndTouchOperation.Callback cb)
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
GetOperation get(java.lang.String key, GetOperation.Callback callback)
Create a get operation.- Parameters:
key
- the key to getcallback
- the callback that will contain the results- Returns:
- a new GetOperation
-
replicaGet
ReplicaGetOperation replicaGet(java.lang.String key, int index, ReplicaGetOperation.Callback callback)
Create a replica get operation.- Parameters:
key
- the key to getcallback
- the callback that will contain the results- Returns:
- a new ReplicaGetOperation
-
replicaGets
ReplicaGetsOperation replicaGets(java.lang.String key, int index, ReplicaGetsOperation.Callback callback)
Create a replica gets operation.- Parameters:
key
- the key to getcallback
- the callback that will contain the results- Returns:
- a new ReplicaGetOperation
-
getl
GetlOperation getl(java.lang.String key, int exp, GetlOperation.Callback callback)
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
GetsOperation gets(java.lang.String key, GetsOperation.Callback callback)
Create a gets operation.- Parameters:
key
- the key to getcallback
- the callback that will contain the results- Returns:
- a new GetsOperation
-
get
GetOperation get(java.util.Collection<java.lang.String> keys, GetOperation.Callback cb)
Create a get operation.- Parameters:
keys
- the collection of keys to getcb
- the callback that will contain the results- Returns:
- a new GetOperation
-
keyStats
StatsOperation keyStats(java.lang.String key, StatsOperation.Callback cb)
Get a new KeyStatsOperation.- Parameters:
key
- the key to get stats forcb
- the stats callback- Returns:
- the new StatsOperation
-
mutate
MutatorOperation mutate(Mutator m, java.lang.String key, long by, long def, int exp, OperationCallback cb)
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
StatsOperation stats(java.lang.String arg, StatsOperation.Callback cb)
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, java.lang.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
TouchOperation touch(java.lang.String key, int expiration, OperationCallback cb)
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, java.lang.String key, byte[] data, OperationCallback cb)
Get a concatenation operation.- Parameters:
catType
- the type of concatenation to perform.key
- the keycasId
- the CAS value for an atomic compare-and-catdata
- the data to storecb
- a callback for reporting the status- Returns:
- thew new ConcatenationOperation
-
cas
CASOperation cas(StoreType t, java.lang.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
VersionOperation version(OperationCallback cb)
Create a new version operation.
-
saslMechs
SASLMechsOperation saslMechs(OperationCallback cb)
Create a new SASL mechs operation.
-
saslAuth
SASLAuthOperation saslAuth(java.lang.String[] mech, java.lang.String serverName, java.util.Map<java.lang.String,?> props, javax.security.auth.callback.CallbackHandler cbh, OperationCallback cb)
Create a new sasl auth operation.
-
saslStep
SASLStepOperation saslStep(java.lang.String[] mech, byte[] challenge, java.lang.String serverName, java.util.Map<java.lang.String,?> props, javax.security.auth.callback.CallbackHandler cbh, OperationCallback cb)
Create a new sasl step operation.
-
clone
java.util.Collection<Operation> clone(KeyedOperation op)
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
TapOperation tapBackfill(java.lang.String id, long date, OperationCallback cb)
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
TapOperation tapCustom(java.lang.String id, RequestMessage message, OperationCallback cb)
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
TapOperation tapAck(TapOpcode opcode, int opaque, OperationCallback cb)
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
TapOperation tapDump(java.lang.String id, OperationCallback cb)
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.
-
-