Tabnine Logo
WatchTimeout.makeReasonable
Code IndexAdd Tabnine to your IDE (free)

How to use
makeReasonable
method
in
com.linecorp.centraldogma.internal.api.v1.WatchTimeout

Best Java code snippets using com.linecorp.centraldogma.internal.api.v1.WatchTimeout.makeReasonable (Showing top 10 results out of 315)

origin: line/centraldogma

/**
 * Returns a reasonable timeout duration for a watch request.
 *
 * @param expectedTimeoutMillis timeout duration that a user wants to use, in milliseconds
 * @return timeout duration in milliseconds, between 1 and the {@link #MAX_MILLIS}.
 */
public static long makeReasonable(long expectedTimeoutMillis) {
  return makeReasonable(expectedTimeoutMillis, 0);
}
origin: com.linecorp.centraldogma/centraldogma-common

/**
 * Returns a reasonable timeout duration for a watch request.
 *
 * @param expectedTimeoutMillis timeout duration that a user wants to use, in milliseconds
 * @return timeout duration in milliseconds, between 1 and the {@link #MAX_MILLIS}.
 */
public static long makeReasonable(long expectedTimeoutMillis) {
  return makeReasonable(expectedTimeoutMillis, 0);
}
origin: com.linecorp.centraldogma/centraldogma-server

private <T> void scheduleTimeout(CompletableFuture<T> result, long timeoutMillis) {
  pendingFutures.add(result);
  final ScheduledFuture<?> timeoutFuture;
  if (timeoutMillis > 0) {
    timeoutMillis = WatchTimeout.makeReasonable(timeoutMillis);
    timeoutMillis = applyJitter(timeoutMillis);
    final EventLoop eventLoop = RequestContext.current().eventLoop();
    timeoutFuture = eventLoop.schedule(() -> result.completeExceptionally(CANCELLATION_EXCEPTION),
                      timeoutMillis, TimeUnit.MILLISECONDS);
  } else {
    timeoutFuture = null;
  }
  result.whenComplete((revision, cause) -> {
    if (timeoutFuture != null) {
      timeoutFuture.cancel(true);
    }
    pendingFutures.remove(result);
  });
}
origin: line/centraldogma

private <T> void scheduleTimeout(CompletableFuture<T> result, long timeoutMillis) {
  pendingFutures.add(result);
  final ScheduledFuture<?> timeoutFuture;
  if (timeoutMillis > 0) {
    timeoutMillis = WatchTimeout.makeReasonable(timeoutMillis);
    timeoutMillis = applyJitter(timeoutMillis);
    final EventLoop eventLoop = RequestContext.current().eventLoop();
    timeoutFuture = eventLoop.schedule(() -> result.completeExceptionally(CANCELLATION_EXCEPTION),
                      timeoutMillis, TimeUnit.MILLISECONDS);
  } else {
    timeoutFuture = null;
  }
  result.whenComplete((revision, cause) -> {
    if (timeoutFuture != null) {
      timeoutFuture.cancel(true);
    }
    pendingFutures.remove(result);
  });
}
origin: line/centraldogma

  @Override
  public RpcResponse serve(ServiceRequestContext ctx, RpcRequest req) throws Exception {
    if (ctx.requestTimeoutMillis() > 0) {
      final String method = req.method();
      if ("watchFile".equals(method) || "watchRepository".equals(method)) {
        final List<Object> params = req.params();
        final long timeout = (Long) params.get(params.size() - 1);
        if (timeout > 0) {
          ctx.setRequestTimeoutMillis(
              WatchTimeout.makeReasonable(timeout, ctx.requestTimeoutMillis()));
        }
      }
    }

    return delegate().serve(ctx, req);
  }
}
origin: com.linecorp.centraldogma/centraldogma-client-armeria-legacy

  @Override
  public RpcResponse execute(ClientRequestContext ctx, RpcRequest req) throws Exception {
    if (ctx.responseTimeoutMillis() > 0) {
      final String method = req.method();
      if ("watchFile".equals(method) || "watchRepository".equals(method)) {
        final List<Object> params = req.params();
        final long timeout = (Long) params.get(params.size() - 1);
        if (timeout > 0) {
          ctx.setResponseTimeoutMillis(
              WatchTimeout.makeReasonable(timeout, ctx.responseTimeoutMillis()));
        }
      }
    }
    return delegate().execute(ctx, req);
  }
}
origin: com.linecorp.centraldogma/centraldogma-server

  @Override
  public RpcResponse serve(ServiceRequestContext ctx, RpcRequest req) throws Exception {
    if (ctx.requestTimeoutMillis() > 0) {
      final String method = req.method();
      if ("watchFile".equals(method) || "watchRepository".equals(method)) {
        final List<Object> params = req.params();
        final long timeout = (Long) params.get(params.size() - 1);
        if (timeout > 0) {
          ctx.setRequestTimeoutMillis(
              WatchTimeout.makeReasonable(timeout, ctx.requestTimeoutMillis()));
        }
      }
    }

    return delegate().serve(ctx, req);
  }
}
origin: line/centraldogma

  @Override
  public RpcResponse execute(ClientRequestContext ctx, RpcRequest req) throws Exception {
    if (ctx.responseTimeoutMillis() > 0) {
      final String method = req.method();
      if ("watchFile".equals(method) || "watchRepository".equals(method)) {
        final List<Object> params = req.params();
        final long timeout = (Long) params.get(params.size() - 1);
        if (timeout > 0) {
          ctx.setResponseTimeoutMillis(
              WatchTimeout.makeReasonable(timeout, ctx.responseTimeoutMillis()));
        }
      }
    }
    return delegate().execute(ctx, req);
  }
}
origin: line/centraldogma

/**
 * Converts the specified {@code request} to {@link Optional} which contains {@link WatchRequest} when
 * the request has {@link HttpHeaderNames#IF_NONE_MATCH}. {@link Optional#EMPTY} otherwise.
 */
@Override
public Object convertRequest(ServiceRequestContext ctx, AggregatedHttpMessage request,
               Class<?> expectedResultType) throws Exception {
  final String ifNoneMatch = request.headers().get(HttpHeaderNames.IF_NONE_MATCH);
  if (!isNullOrEmpty(ifNoneMatch)) {
    final Revision lastKnownRevision = new Revision(ifNoneMatch);
    final String prefer = request.headers().get(HttpHeaderNames.PREFER);
    final long timeoutMillis;
    if (!isNullOrEmpty(prefer)) {
      timeoutMillis = getTimeoutMillis(prefer);
    } else {
      timeoutMillis = DEFAULT_TIMEOUT_MILLIS;
    }
    // Update timeout according to the watch API specifications.
    ctx.setRequestTimeoutMillis(
        WatchTimeout.makeReasonable(timeoutMillis, ctx.requestTimeoutMillis()));
    return Optional.of(new WatchRequest(lastKnownRevision, timeoutMillis));
  }
  return Optional.empty();
}
origin: com.linecorp.centraldogma/centraldogma-server

/**
 * Converts the specified {@code request} to {@link Optional} which contains {@link WatchRequest} when
 * the request has {@link HttpHeaderNames#IF_NONE_MATCH}. {@link Optional#EMPTY} otherwise.
 */
@Override
public Object convertRequest(ServiceRequestContext ctx, AggregatedHttpMessage request,
               Class<?> expectedResultType) throws Exception {
  final String ifNoneMatch = request.headers().get(HttpHeaderNames.IF_NONE_MATCH);
  if (!isNullOrEmpty(ifNoneMatch)) {
    final Revision lastKnownRevision = new Revision(ifNoneMatch);
    final String prefer = request.headers().get(HttpHeaderNames.PREFER);
    final long timeoutMillis;
    if (!isNullOrEmpty(prefer)) {
      timeoutMillis = getTimeoutMillis(prefer);
    } else {
      timeoutMillis = DEFAULT_TIMEOUT_MILLIS;
    }
    // Update timeout according to the watch API specifications.
    ctx.setRequestTimeoutMillis(
        WatchTimeout.makeReasonable(timeoutMillis, ctx.requestTimeoutMillis()));
    return Optional.of(new WatchRequest(lastKnownRevision, timeoutMillis));
  }
  return Optional.empty();
}
com.linecorp.centraldogma.internal.api.v1WatchTimeoutmakeReasonable

Javadoc

Returns a reasonable timeout duration for a watch request.

Popular methods of WatchTimeout

    Popular in Java

    • Reactive rest calls using spring rest template
    • setContentView (Activity)
    • compareTo (BigDecimal)
    • getOriginalFilename (MultipartFile)
      Return the original filename in the client's filesystem.This may contain path information depending
    • Pointer (com.sun.jna)
      An abstraction for a native pointer data type. A Pointer instance represents, on the Java side, a na
    • BufferedReader (java.io)
      Wraps an existing Reader and buffers the input. Expensive interaction with the underlying reader is
    • File (java.io)
      An "abstract" representation of a file system entity identified by a pathname. The pathname may be a
    • Filter (javax.servlet)
      A filter is an object that performs filtering tasks on either the request to a resource (a servlet o
    • JTable (javax.swing)
    • Logger (org.slf4j)
      The org.slf4j.Logger interface is the main user entry point of SLF4J API. It is expected that loggin
    • Best plugins for Eclipse
    Tabnine Logo
    • Products

      Search for Java codeSearch for JavaScript code
    • IDE Plugins

      IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
    • Company

      About UsContact UsCareers
    • Resources

      FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
    Get Tabnine for your IDE now