Package com.couchbase.client.core.msg.kv
Class MultiObserveViaCasRequest
- java.lang.Object
-
- com.couchbase.client.core.msg.BaseRequest<R>
-
- 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
Constructors Constructor Description MultiObserveViaCasRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, CollectionIdentifier collectionIdentifier, NodeIdentifier target, Map<byte[],Short> keys, Predicate<ObserveViaCasResponse.ObserveStatus> responsePredicate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MultiObserveViaCasResponse
decode(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
idempotent()
Returns if the given request is idempotent or not.String
name()
The unique name of the request, usually related to the type but not necessarily.Map<String,Object>
serviceContext()
Returns contextual information for each individual service.NodeIdentifier
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 Detail
-
MultiObserveViaCasRequest
public MultiObserveViaCasRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, CollectionIdentifier collectionIdentifier, NodeIdentifier target, Map<byte[],Short> keys, Predicate<ObserveViaCasResponse.ObserveStatus> responsePredicate)
-
-
Method Detail
-
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
public NodeIdentifier 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
public String 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
public Map<String,Object> 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.
-
-