Class BaseRequest<R extends Response>

java.lang.Object
com.couchbase.client.core.msg.BaseRequest<R>
All Implemented Interfaces:
Request<R>
Direct Known Subclasses:
AnalyticsPingRequest, AnalyticsRequest, BaseKeyValueRequest, BaseManagerRequest, GenericAnalyticsRequest, GenericSearchRequest, GenericViewRequest, QueryPingRequest, QueryRequest, SearchPingRequest, SearchRequest, ViewPingRequest, 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)
      Description copied from interface: Request
      Cancels this request.
      Specified by:
      cancel in interface Request<R extends Response>
    • 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.