Class BaseRequest<R extends Response>

java.lang.Object
com.couchbase.client.core.msg.BaseRequest<R>
All Implemented Interfaces:
Request<R>
Direct Known Subclasses:
AnalyticsRequest, BaseKeyValueRequest, BaseManagerRequest, CoreHttpRequest, CoreTransactionRequest, QueryRequest, ServerSearchRequest, ViewRequest

public abstract class BaseRequest<R extends Response> extends Object implements Request<R>
Base class for all Requests.
Since:
2.0.0
  • Constructor Details

    • BaseRequest

      public BaseRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy)
    • BaseRequest

      public BaseRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, RequestSpan requestSpan)
      Creates a basic request that has all the required properties to be executed in general.
      Parameters:
      timeout - the timeout of the request.
      ctx - the context if provided.
  • Method Details

    • response

      public CompletableFuture<R> response()
      Description copied from interface: Request
      Holds the response which eventually completes.
      Specified by:
      response in interface Request<R extends Response>
      Returns:
      the future containing the response, eventually.
    • succeed

      public void succeed(R result)
      Description copied from interface: Request
      Completes this request successfully.
      Specified by:
      succeed in interface Request<R extends Response>
      Parameters:
      result - the result to complete with.
    • fail

      public void fail(Throwable error)
      Description copied from interface: Request
      Fails this request and completes it.
      Specified by:
      fail in interface Request<R extends Response>
      Parameters:
      error - the error to fail this request with.
    • cancel

      public void cancel(CancellationReason reason, Function<Throwable,Throwable> exceptionTranslator)
      Description copied from interface: Request
      Cancels this request, allowing the caller to customize the exception.
      Specified by:
      cancel in interface Request<R extends Response>
      Parameters:
      exceptionTranslator - A typical function might create a new custom exception using the argument as the cause.
    • timeoutRegistration

      public void timeoutRegistration(com.couchbase.client.core.deps.io.netty.util.Timeout registration)
      Description copied from interface: Request
      Sets the timeout registration used to cancel when complete.
      Specified by:
      timeoutRegistration in interface Request<R extends Response>
      Parameters:
      registration - the registration for the timeout timer.
    • completed

      public boolean completed()
      Description copied from interface: Request
      Allows to check if this request is completed already.
      Specified by:
      completed in interface Request<R extends Response>
      Returns:
      true if completed, failed or cancelled.
    • succeeded

      public boolean succeeded()
      Description copied from interface: Request
      Allows to check if this request has been successfully completed.
      Specified by:
      succeeded in interface Request<R extends Response>
      Returns:
      true if succeeded, false otherwise.
    • failed

      public boolean failed()
      Description copied from interface: Request
      Allows to check if this request has been completed but with an exception.
      Specified by:
      failed in interface Request<R extends Response>
      Returns:
      true if failed, false otherwise.
    • cancelled

      public boolean cancelled()
      Description copied from interface: Request
      Allows to check if this request has been cancelled before it got a chance to be either failed or succeeded.
      Specified by:
      cancelled in interface Request<R extends Response>
      Returns:
      true if cancelled, false otherwise.
    • cancellationReason

      public CancellationReason cancellationReason()
      Description copied from interface: Request
      If the request is Request.cancelled(), this returns the reason why.
      Specified by:
      cancellationReason in interface Request<R extends Response>
      Returns:
      the cancellation reason if cancelled, null otherwise.
    • context

      public RequestContext context()
      Description copied from interface: Request
      If attached, returns the context for this request.
      Specified by:
      context in interface Request<R extends Response>
      Returns:
      the request context if attached.
    • timeout

      public Duration timeout()
      Description copied from interface: Request
      Returns the timeout for this request.
      Specified by:
      timeout in interface Request<R extends Response>
      Returns:
      the timeout for this request.
    • timeoutElapsed

      public boolean timeoutElapsed()
      Description copied from interface: Request
      Returns true if the timeout elapsed.
      Specified by:
      timeoutElapsed in interface Request<R extends Response>
    • absoluteTimeout

      public long absoluteTimeout()
      Description copied from interface: Request
      The absolute timestamp when the request should time out.
      Specified by:
      absoluteTimeout in interface Request<R extends Response>
      Returns:
      the absolute timeout in nanoseconds.
    • id

      public long id()
      Description copied from interface: Request
      Holds a unique ID for each request that is assigned automatically.
      Specified by:
      id in interface Request<R extends Response>
      Returns:
      the unique request ID.
    • retryStrategy

      public RetryStrategy retryStrategy()
      Description copied from interface: Request
      The retry strategy for this particular request.
      Specified by:
      retryStrategy in interface Request<R extends Response>
      Returns:
      the retry strategy for this request.
    • serviceContext

      public Map<String,Object> serviceContext()
      Description copied from interface: Request
      Returns contextual information for each individual service.
      Specified by:
      serviceContext in interface Request<R extends Response>
      Returns:
      the service context.
    • createdAt

      public long createdAt()
      Description copied from interface: Request
      Holds the nanoTime when the request got created.
      Specified by:
      createdAt in interface Request<R extends Response>
      Returns:
      the time when the request got created.
    • requestSpan

      public RequestSpan requestSpan()
      Description copied from interface: Request
      Holds the internal span for this request.
      Specified by:
      requestSpan in interface Request<R extends Response>
      Returns:
      the internal span used for the request.