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.NodeIdentifier
target()
The target where this request must be dispatched to.-
Methods inherited from class com.couchbase.client.core.msg.kv.BaseKeyValueRequest
bucket, collectionIdentifier, encodedKeyWithCollection, key, nextOpaque, opaque, operationId, partition, partition, serviceContext, serviceType
-
Methods inherited from class com.couchbase.client.core.msg.BaseRequest
absoluteTimeout, cancel, cancellationReason, cancelled, completed, context, createdAt, fail, failed, id, internalSpan, response, retryStrategy, succeed, succeeded, timeout, timeoutElapsed
-
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, cancellationReason, cancelled, completed, context, createdAt, fail, failed, id, internalSpan, response, retryStrategy, succeed, succeeded, timeout, timeoutElapsed
-
-
-
-
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:TargetedRequest
The target where this request must be dispatched to.- Specified by:
target
in interfaceTargetedRequest
-
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.
-
-