Package com.couchbase.client.core.msg.kv
Class BaseKeyValueRequest<R extends Response>
java.lang.Object
com.couchbase.client.core.msg.BaseRequest<R>
com.couchbase.client.core.msg.kv.BaseKeyValueRequest<R>
- All Implemented Interfaces:
KeyValueRequest<R>,Request<R>,ScopedRequest
- Direct Known Subclasses:
AppendRequest,CarrierBucketConfigRequest,CarrierGlobalConfigRequest,DecrementRequest,GetAndLockRequest,GetAndTouchRequest,GetCollectionIdRequest,GetCollectionManifestRequest,GetMetaRequest,GetRequest,IncrementRequest,InsertRequest,MultiObserveViaCasRequest,NoopRequest,ObserveViaCasRequest,ObserveViaSeqnoRequest,PredeterminedPartitionRequest,PrependRequest,RemoveRequest,ReplaceRequest,SubdocGetRequest,SubdocMutateRequest,TouchRequest,UnlockRequest,UpsertRequest
public abstract class BaseKeyValueRequest<R extends Response>
extends BaseRequest<R>
implements KeyValueRequest<R>
The
BaseKeyValueRequest should be subclassed by all KeyValue requests since it
provides common ground for all of them (i.e. adding the kv partition needed).- Since:
- 2.0.0
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseKeyValueRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, String key, CollectionIdentifier collectionIdentifier) protectedBaseKeyValueRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, String key, CollectionIdentifier collectionIdentifier, RequestSpan span) -
Method Summary
Modifier and TypeMethodDescriptionbucket()Returns the name of the bucket this request is scoped to, or null if not scoped to a bucket.protected com.couchbase.client.core.deps.io.netty.buffer.ByteBufencodedExternalKeyWithCollection(com.couchbase.client.core.deps.io.netty.buffer.ByteBufAllocator alloc, KeyValueChannelContext ctx, byte[] key) Encodes a given key with the collection prefix if needed.protected com.couchbase.client.core.deps.io.netty.buffer.ByteBufencodedKeyWithCollection(com.couchbase.client.core.deps.io.netty.buffer.ByteBufAllocator alloc, KeyValueChannelContext ctx) This method returns an encoded key with or without the collection prefix, depending on the context provided.voiderrorCode(ErrorMap.ErrorCode errorCode) Sets the error code on the request for debugging purposes.voidIncrements the counter indicating that this request has been rejected with a not my vbucket response.byte[]key()The key of the kv request.static intintopaque()Returns a potentially non-unique identifier that is useful for tracing output.shortReads the currently set partition this request is targeted against.voidpartition(short partition) Allows to set the partition used for this request.intReturns the number of times this request has been rejected with a not my vbucket response before.Returns contextual information for each individual service.The service type of this request.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, timeoutRegistrationMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.couchbase.client.core.msg.kv.KeyValueRequest
decode, encode, replicaMethods inherited from interface com.couchbase.client.core.msg.Request
absoluteTimeout, cancel, cancel, cancellationReason, cancelled, completed, context, createdAt, fail, failed, id, idempotent, name, requestSpan, response, retryStrategy, serviceTracingId, succeed, succeeded, target, timeout, timeoutElapsed, timeoutRegistration
-
Constructor Details
-
BaseKeyValueRequest
protected BaseKeyValueRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, String key, CollectionIdentifier collectionIdentifier) -
BaseKeyValueRequest
protected BaseKeyValueRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, String key, CollectionIdentifier collectionIdentifier, RequestSpan span)
-
-
Method Details
-
nextOpaque
public static int nextOpaque() -
partition
public short partition()Description copied from interface:KeyValueRequestReads the currently set partition this request is targeted against.- Specified by:
partitionin interfaceKeyValueRequest<R extends Response>
-
partition
public void partition(short partition) Description copied from interface:KeyValueRequestAllows to set the partition used for this request.- Specified by:
partitionin interfaceKeyValueRequest<R extends Response>- Parameters:
partition- the partition to set.
-
encodedKeyWithCollection
protected com.couchbase.client.core.deps.io.netty.buffer.ByteBuf encodedKeyWithCollection(com.couchbase.client.core.deps.io.netty.buffer.ByteBufAllocator alloc, KeyValueChannelContext ctx) This method returns an encoded key with or without the collection prefix, depending on the context provided.Note that it uses the key set during construction, if you want to encode a different key use the
encodedExternalKeyWithCollection(ByteBufAllocator, KeyValueChannelContext, byte[])method instead.- Parameters:
alloc- the buffer allocator to use.ctx- the channel context.- Returns:
- the encoded ID, maybe with the collection prefix in place.
-
encodedExternalKeyWithCollection
protected com.couchbase.client.core.deps.io.netty.buffer.ByteBuf encodedExternalKeyWithCollection(com.couchbase.client.core.deps.io.netty.buffer.ByteBufAllocator alloc, KeyValueChannelContext ctx, byte[] key) Encodes a given key with the collection prefix if needed.- Parameters:
alloc- the buffer allocator to use.ctx- the channel context.key- the key to encode with collection id.- Returns:
- the encoded ID, maybe with the collection prefix in place.
-
serviceType
Description copied from interface:RequestThe service type of this request.Callers that expect virtual services should use
Request.serviceTracingId()instead.- Specified by:
serviceTypein interfaceRequest<R extends Response>
-
opaque
public int opaque()- Specified by:
opaquein interfaceKeyValueRequest<R extends Response>
-
serviceContext
Description copied from interface:RequestReturns contextual information for each individual service.- Specified by:
serviceContextin interfaceRequest<R extends Response>- Overrides:
serviceContextin classBaseRequest<R extends Response>- Returns:
- the service context.
-
key
public byte[] key()Description copied from interface:KeyValueRequestThe key of the kv request.- Specified by:
keyin interfaceKeyValueRequest<R extends Response>- Returns:
- the key of the request.
-
bucket
Description copied from interface:RequestReturns the name of the bucket this request is scoped to, or null if not scoped to a bucket. -
collectionIdentifier
- Specified by:
collectionIdentifierin interfaceKeyValueRequest<R extends Response>
-
operationId
Description copied from interface:RequestReturns a potentially non-unique identifier that is useful for tracing output.Note: might be null! It depends on the type of operation. It is also different from the unqiue operation ID that increments to provide additional context (i.e in query the context uuid, in kv the opaque value).
- Specified by:
operationIdin interfaceRequest<R extends Response>- Returns:
- if present, the operation id. Null otherwise.
-
rejectedWithNotMyVbucket
public int rejectedWithNotMyVbucket()Description copied from interface:KeyValueRequestReturns the number of times this request has been rejected with a not my vbucket response before.- Specified by:
rejectedWithNotMyVbucketin interfaceKeyValueRequest<R extends Response>
-
indicateRejectedWithNotMyVbucket
public void indicateRejectedWithNotMyVbucket()Description copied from interface:KeyValueRequestIncrements the counter indicating that this request has been rejected with a not my vbucket response.- Specified by:
indicateRejectedWithNotMyVbucketin interfaceKeyValueRequest<R extends Response>
-
errorCode
Description copied from interface:KeyValueRequestSets the error code on the request for debugging purposes.- Specified by:
errorCodein interfaceKeyValueRequest<R extends Response>- Parameters:
errorCode- the error code to set for the request.
-