Package com.couchbase.client.core.msg.kv
Class MultiObserveViaCasRequest
java.lang.Object
com.couchbase.client.core.msg.BaseRequest<MultiObserveViaCasResponse>
com.couchbase.client.core.msg.kv.BaseKeyValueRequest<MultiObserveViaCasResponse>
com.couchbase.client.core.msg.kv.MultiObserveViaCasRequest
- All Implemented Interfaces:
KeyValueRequest<MultiObserveViaCasResponse>
,Request<MultiObserveViaCasResponse>
,ScopedRequest
,TargetedRequest
public class MultiObserveViaCasRequest
extends BaseKeyValueRequest<MultiObserveViaCasResponse>
implements TargetedRequest
Special observe request implementation to handle more than one key at the same time.
-
Constructor Summary
ConstructorDescriptionMultiObserveViaCasRequest
(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, CollectionIdentifier collectionIdentifier, NodeIdentifier target, Map<byte[], Short> keys, Predicate<ObserveViaCasResponse.ObserveStatus> responsePredicate) -
Method Summary
Modifier and TypeMethodDescriptiondecode
(com.couchbase.client.core.deps.io.netty.buffer.ByteBuf response, KeyValueChannelContext ctx) Decode the encoded response into its message representation.com.couchbase.client.core.deps.io.netty.buffer.ByteBuf
encode
(com.couchbase.client.core.deps.io.netty.buffer.ByteBufAllocator alloc, int opaque, KeyValueChannelContext ctx) Encode this request with the given allocator and opaque.boolean
Returns if the given request is idempotent or not.name()
The unique name of the request, usually related to the type but not necessarily.Returns contextual information for each individual service.target()
Returns the node that should service this request, or null to let the service locator decide.Methods inherited from class com.couchbase.client.core.msg.kv.BaseKeyValueRequest
bucket, collectionIdentifier, encodedExternalKeyWithCollection, encodedKeyWithCollection, errorCode, indicateRejectedWithNotMyVbucket, key, nextOpaque, opaque, operationId, partition, partition, rejectedWithNotMyVbucket, serviceType
Methods inherited from class com.couchbase.client.core.msg.BaseRequest
absoluteTimeout, cancel, cancellationReason, cancelled, completed, context, createdAt, fail, failed, id, requestSpan, response, retryStrategy, succeed, succeeded, timeout, timeoutElapsed, timeoutRegistration
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.couchbase.client.core.msg.Request
absoluteTimeout, cancel, cancel, cancellationReason, cancelled, completed, context, createdAt, fail, failed, id, requestSpan, response, retryStrategy, succeed, succeeded, timeout, timeoutElapsed, timeoutRegistration
-
Constructor Details
-
MultiObserveViaCasRequest
public MultiObserveViaCasRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, CollectionIdentifier collectionIdentifier, NodeIdentifier target, Map<byte[], Short> keys, Predicate<ObserveViaCasResponse.ObserveStatus> responsePredicate)
-
-
Method Details
-
encode
public com.couchbase.client.core.deps.io.netty.buffer.ByteBuf encode(com.couchbase.client.core.deps.io.netty.buffer.ByteBufAllocator alloc, int opaque, KeyValueChannelContext ctx) Description copied from interface:KeyValueRequest
Encode this request with the given allocator and opaque.- Specified by:
encode
in interfaceKeyValueRequest<MultiObserveViaCasResponse>
- Parameters:
alloc
- the allocator where to grab the buffers from.opaque
- the opaque value to use.ctx
- more encode context.- Returns:
- the encoded request as a
ByteBuf
.
-
decode
public MultiObserveViaCasResponse decode(com.couchbase.client.core.deps.io.netty.buffer.ByteBuf response, KeyValueChannelContext ctx) Description copied from interface:KeyValueRequest
Decode the encoded response into its message representation.- Specified by:
decode
in interfaceKeyValueRequest<MultiObserveViaCasResponse>
- Parameters:
response
- the response to decode.- Returns:
- the decoded response as the generic type R.
-
target
Description copied from interface:Request
Returns the node that should service this request, or null to let the service locator decide.- Specified by:
target
in interfaceRequest<MultiObserveViaCasResponse>
- Returns:
- (nullable)
-
idempotent
public boolean idempotent()Description copied from interface:Request
Returns if the given request is idempotent or not.By default, this method always returns false for data consistency reasons. Only specific idempotent operations should override this default since it impacts retry handling quite a bit. DO NOT SET THIS TO TRUE ON MUTATING OPERATIONS!
- Specified by:
idempotent
in interfaceRequest<MultiObserveViaCasResponse>
- Returns:
- true if idempotent.
-
name
Description copied from interface:Request
The unique name of the request, usually related to the type but not necessarily.The default implementation is derived from the class name (i.e. FooRequest returns foo), but if that does not match up it should be overridden in the actual class.
- Specified by:
name
in interfaceRequest<MultiObserveViaCasResponse>
- Returns:
- the name of the request type.
-
serviceContext
Description copied from interface:Request
Returns contextual information for each individual service.- Specified by:
serviceContext
in interfaceRequest<MultiObserveViaCasResponse>
- Overrides:
serviceContext
in classBaseKeyValueRequest<MultiObserveViaCasResponse>
- Returns:
- the service context.
-