Package com.couchbase.client.core.msg
Class RequestContext
java.lang.Object
com.couchbase.client.core.cnc.AbstractContext
com.couchbase.client.core.CoreContext
com.couchbase.client.core.msg.RequestContext
- All Implemented Interfaces:
Context
public class RequestContext extends CoreContext
Additional context which might be attached to an individual
Request
.- Since:
- 2.0.0
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.couchbase.client.core.cnc.Context
Context.ExportFormat
-
Constructor Summary
Constructors Constructor Description RequestContext(CoreContext ctx, Request<? extends Response> request)
Creates a newRequestContext
. -
Method Summary
Modifier and Type Method Description RequestContext
cancel()
Allows to cancel the attachedRequest
from anywhere in the code.Map<String,Object>
clientContext()
Returns the custom user payload of this request.RequestContext
clientContext(Map<String,Object> clientContext)
Allows to set a custom payload for this request.long
dispatchLatency()
Returns the duration of the dispatch phase if set.RequestContext
dispatchLatency(long dispatchLatency)
Allows to set the dispatch duration of the request.long
encodeLatency()
RequestContext
encodeLatency(long encodeLatency)
RequestContext
incrementRetryAttempts(Duration lastRetryDuration, RetryReason reason)
void
injectExportableParams(Map<String,Object> input)
This method needs to be implemented by the actual context implementations to inject the params they need for exporting.String
lastChannelId()
RequestContext
lastChannelId(String lastChannelId)
HostAndPort
lastDispatchedFrom()
RequestContext
lastDispatchedFrom(HostAndPort lastDispatchedFrom)
HostAndPort
lastDispatchedTo()
RequestContext
lastDispatchedTo(HostAndPort lastDispatchedTo)
NodeIdentifier
lastDispatchedToNode()
RequestContext
lastDispatchedToNode(NodeIdentifier lastDispatchedToNode)
Duration
lastRetryDuration()
RequestContext
logicallyComplete()
Signals that this request is completed fully, including streaming sections or logical sub-requests also being completed (i.e.long
logicallyCompletedAt()
Returns the absolute nano time when the request got logically completed.long
logicalRequestLatency()
Returns the request latency once logically completed (includes potential "inner" operations like observe calls).Request<? extends Response>
request()
int
retryAttempts()
Set<RetryReason>
retryReasons()
long
serverLatency()
RequestContext
serverLatency(long serverLatency)
Methods inherited from class com.couchbase.client.core.CoreContext
alternateAddress, alternateAddress, authenticator, core, environment, id
Methods inherited from class com.couchbase.client.core.cnc.AbstractContext
exportAsString, toString
-
Constructor Details
-
RequestContext
Creates a newRequestContext
.- Parameters:
ctx
- the core context.request
- the linked request.
-
-
Method Details
-
dispatchLatency
Returns the duration of the dispatch phase if set.- Returns:
- the duration of the dispatch phase.
-
dispatchLatency
Allows to set the dispatch duration of the request.- Parameters:
dispatchLatency
- the duration.
-
encodeLatency
-
encodeLatency
-
lastChannelId
-
lastChannelId
-
serverLatency
-
serverLatency
-
logicallyComplete
Signals that this request is completed fully, including streaming sections or logical sub-requests also being completed (i.e. observe polling). -
retryAttempts
public int retryAttempts() -
retryReasons
-
lastRetryDuration
-
logicallyCompletedAt
public long logicallyCompletedAt()Returns the absolute nano time when the request got logically completed. -
logicalRequestLatency
public long logicalRequestLatency()Returns the request latency once logically completed (includes potential "inner" operations like observe calls). -
incrementRetryAttempts
@Internal public RequestContext incrementRetryAttempts(Duration lastRetryDuration, RetryReason reason) -
lastDispatchedTo
-
lastDispatchedToNode
-
lastDispatchedTo
-
lastDispatchedToNode
-
lastDispatchedFrom
-
lastDispatchedFrom
-
clientContext
Returns the custom user payload of this request.- Returns:
- the payload if set.
-
clientContext
Allows to set a custom payload for this request.- Parameters:
clientContext
- the payload to set.
-
request
-
injectExportableParams
Description copied from class:AbstractContext
This method needs to be implemented by the actual context implementations to inject the params they need for exporting.- Overrides:
injectExportableParams
in classCoreContext
- Parameters:
input
- pass exportable params in here.
-
cancel
Allows to cancel the attachedRequest
from anywhere in the code.If the operation is already completed (either successfully or failed) this is an operation without side-effect.
-