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 MultiObserveViaCasResponsedecode(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.ByteBufencode(com.couchbase.client.core.deps.io.netty.buffer.ByteBufAllocator alloc, int opaque, KeyValueChannelContext ctx)Encode this request with the given allocator and opaque.booleanidempotent()Returns if the given request is idempotent or not.Stringname()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.NodeIdentifiertarget()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, 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
-
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, requestSpan, 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:KeyValueRequestEncode this request with the given allocator and opaque.- Specified by:
encodein 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:KeyValueRequestDecode the encoded response into its message representation.- Specified by:
decodein 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:RequestReturns the node that should service this request, or null to let the service locator decide.- Specified by:
targetin interfaceRequest<MultiObserveViaCasResponse>- Returns:
- (nullable)
-
idempotent
public boolean idempotent()
Description copied from interface:RequestReturns 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:
idempotentin interfaceRequest<MultiObserveViaCasResponse>- Returns:
- true if idempotent.
-
name
public String name()
Description copied from interface:RequestThe 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 => foo), but if that does not match up it should be overridden in the actual class.
- Specified by:
namein interfaceRequest<MultiObserveViaCasResponse>- Returns:
- the name of the request type.
-
serviceContext
public Map<String,Object> serviceContext()
Description copied from interface:RequestReturns contextual information for each individual service.- Specified by:
serviceContextin interfaceRequest<MultiObserveViaCasResponse>- Overrides:
serviceContextin classBaseKeyValueRequest<MultiObserveViaCasResponse>- Returns:
- the service context.
-
-