public class AnalyticsRequest extends BaseRequest<AnalyticsResponse> implements HttpRequest<AnalyticsChunkHeader,AnalyticsChunkRow,AnalyticsChunkTrailer,AnalyticsResponse>
Modifier and Type | Field and Description |
---|---|
static int |
NO_PRIORITY |
Constructor and Description |
---|
AnalyticsRequest(Duration timeout,
CoreContext ctx,
RetryStrategy retryStrategy,
Authenticator authenticator,
byte[] query,
int priority,
boolean idempotent,
String contextId,
String statement,
RequestSpan span,
String bucket,
String scope) |
AnalyticsRequest(Duration timeout,
CoreContext ctx,
RetryStrategy retryStrategy,
Authenticator authenticator,
byte[] query,
int priority,
boolean idempotent,
String contextId,
String statement,
RequestSpan span,
String bucket,
String scope,
String uri,
com.couchbase.client.core.deps.io.netty.handler.codec.http.HttpMethod httpMethod) |
Modifier and Type | Method and Description |
---|---|
String |
bucket()
Returns the name of the bucket this request is scoped to, or null if not scoped to a bucket.
|
AnalyticsResponse |
decode(ResponseStatus status,
AnalyticsChunkHeader header,
Flux<AnalyticsChunkRow> rows,
Mono<AnalyticsChunkTrailer> trailer)
Decodes a chunked response into the response format.
|
com.couchbase.client.core.deps.io.netty.handler.codec.http.FullHttpRequest |
encode() |
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.
|
String |
operationId()
Returns a potentially non-unique identifier that is useful for tracing output.
|
static String |
queryContext(String bucket,
String scope)
Helper method to build the query context from bucket and scope.
|
String |
scope() |
Map<String,Object> |
serviceContext()
Returns contextual information for each individual service.
|
ServiceType |
serviceType()
The service type of this request.
|
String |
statement() |
absoluteTimeout, cancel, cancellationReason, cancelled, completed, context, createdAt, fail, failed, id, requestSpan, response, retryStrategy, succeed, succeeded, timeout, timeoutElapsed, timeoutRegistration
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
absoluteTimeout, cancel, cancel, cancellationReason, cancelled, completed, context, createdAt, fail, failed, id, requestSpan, response, retryStrategy, succeed, succeeded, target, timeout, timeoutElapsed, timeoutRegistration
public static final int NO_PRIORITY
public AnalyticsRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, Authenticator authenticator, byte[] query, int priority, boolean idempotent, String contextId, String statement, RequestSpan span, String bucket, String scope)
public AnalyticsRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, Authenticator authenticator, @Nullable byte[] query, int priority, boolean idempotent, String contextId, String statement, RequestSpan span, String bucket, String scope, String uri, com.couchbase.client.core.deps.io.netty.handler.codec.http.HttpMethod httpMethod)
public static String queryContext(String bucket, String scope)
bucket
- the name of the bucket.scope
- the name of the scope.public com.couchbase.client.core.deps.io.netty.handler.codec.http.FullHttpRequest encode()
public AnalyticsResponse decode(ResponseStatus status, AnalyticsChunkHeader header, Flux<AnalyticsChunkRow> rows, Mono<AnalyticsChunkTrailer> trailer)
ChunkDecodable
decode
in interface ChunkDecodable<AnalyticsChunkHeader,AnalyticsChunkRow,AnalyticsChunkTrailer,AnalyticsResponse>
status
- the http response status.header
- the chunk header.rows
- the chunk rows.trailer
- the chunk trailer.public ServiceType serviceType()
Request
Can be null if this is a 'virtual service' (e.g. transactions), which don't map 1:1 to a particular cluster service, but need to integrate into various codepaths that are built around ServiceType such as ThresholdLoggingTracer. Virtual requests must not be sent into core at present, as there is limited support for them.
serviceType
in interface Request<AnalyticsResponse>
public boolean idempotent()
Request
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!
idempotent
in interface Request<AnalyticsResponse>
public String operationId()
Request
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).
operationId
in interface Request<AnalyticsResponse>
public String statement()
public Map<String,Object> serviceContext()
Request
serviceContext
in interface Request<AnalyticsResponse>
serviceContext
in class BaseRequest<AnalyticsResponse>
public String bucket()
Request
bucket
in interface Request<AnalyticsResponse>
public String scope()
public String name()
Request
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.
name
in interface Request<AnalyticsResponse>
Copyright © 2024 Couchbase, Inc.. All rights reserved.