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 RequestContextcancel()Allows to cancel the attachedRequestfrom anywhere in the code.Map<String,Object>clientContext()Returns the custom user payload of this request.RequestContextclientContext(Map<String,Object> clientContext)Allows to set a custom payload for this request.longdispatchLatency()Returns the duration of the dispatch phase if set.RequestContextdispatchLatency(long dispatchLatency)Allows to set the dispatch duration of the request.longencodeLatency()RequestContextencodeLatency(long encodeLatency)RequestContextincrementRetryAttempts(Duration lastRetryDuration, RetryReason reason)voidinjectExportableParams(Map<String,Object> input)This method needs to be implemented by the actual context implementations to inject the params they need for exporting.StringlastChannelId()RequestContextlastChannelId(String lastChannelId)HostAndPortlastDispatchedFrom()RequestContextlastDispatchedFrom(HostAndPort lastDispatchedFrom)HostAndPortlastDispatchedTo()RequestContextlastDispatchedTo(HostAndPort lastDispatchedTo)NodeIdentifierlastDispatchedToNode()RequestContextlastDispatchedToNode(NodeIdentifier lastDispatchedToNode)DurationlastRetryDuration()RequestContextlogicallyComplete()Signals that this request is completed fully, including streaming sections or logical sub-requests also being completed (i.e.longlogicallyCompletedAt()Returns the absolute nano time when the request got logically completed.longlogicalRequestLatency()Returns the request latency once logically completed (includes potential "inner" operations like observe calls).Request<? extends Response>request()intretryAttempts()Set<RetryReason>retryReasons()longserverLatency()RequestContextserverLatency(long serverLatency)Methods inherited from class com.couchbase.client.core.CoreContext
alternateAddress, alternateAddress, authenticator, core, environment, idMethods 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:AbstractContextThis method needs to be implemented by the actual context implementations to inject the params they need for exporting.- Overrides:
injectExportableParamsin classCoreContext- Parameters:
input- pass exportable params in here.
-
cancel
Allows to cancel the attachedRequestfrom anywhere in the code.If the operation is already completed (either successfully or failed) this is an operation without side-effect.
-