Значение единиц времени для различных таймаутов http-клиента в java - PullRequest
0 голосов
/ 24 марта 2020

Мне было интересно, каково значение различных единиц времени, используемых при указании тайм-аута клиента http. Тайм-аут соединения в миллисекундах, тайм-аут простоя в секундах и тайм-аут чтения в миллисекундах.

  1. Использует ли Vertx разные значения точности для определения точности, с которой должен срабатывать тайм-аут?

  2. Как срабатывает тайм-аут?

Я использую https://vertx.io/docs/apidocs/io/vertx/core/http/HttpClientRequest.html

1 Ответ

0 голосов
/ 24 марта 2020

Как правило, не относится к Vert.x:
connection timeout <<code>read timeout <<code>idle timeout
В частности, проверка того, что соединение не используется, может занять десятки миллисекунд. Следовательно, в первую очередь не рекомендуется разрешать установку этих значений в миллисекундах, поскольку в этом случае могут возникать ситуации, когда время для проверки простоя соединения превышает время простоя.

HttpClientRequest обеспечивает только один тайм-аут. Возможно, ваш вопрос о WebClientOptions, который действительно предоставляет разные тайм-ауты:
https://vertx.io/docs/apidocs/io/vertx/ext/web/client/WebClientOptions.html

Если вы заинтересованы в том, как это на самом деле используется, вы можете взглянуть на NetClientImpl исходный код:

https://github.com/eclipse-vertx/vert.x/blob/master/src/main/java/io/vertx/core/net/impl/NetClientImpl.java#L103

...