Skip to content

Commit

Permalink
Changed readTimeout's type to java.time.Duration
Browse files Browse the repository at this point in the history
  • Loading branch information
Asapin committed Apr 23, 2023
1 parent 0ebfd64 commit 706290e
Show file tree
Hide file tree
Showing 11 changed files with 25 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,11 @@ public interface AsyncHttpClientConfig {
Duration getConnectTimeout();

/**
* Return the maximum time in millisecond an {@link AsyncHttpClient} can stay idle.
* Return the maximum time an {@link AsyncHttpClient} can stay idle.
*
* @return the maximum time in millisecond an {@link AsyncHttpClient} can stay idle.
* @return the maximum time an {@link AsyncHttpClient} can stay idle.
*/
int getReadTimeout();
Duration getReadTimeout();

/**
* Return the maximum time in millisecond an {@link AsyncHttpClient} will keep connection in pool.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ public class DefaultAsyncHttpClientConfig implements AsyncHttpClientConfig {
// timeouts
private final Duration connectTimeout;
private final Duration requestTimeout;
private final int readTimeout;
private final Duration readTimeout;
private final int shutdownQuietPeriod;
private final int shutdownTimeout;

Expand Down Expand Up @@ -218,7 +218,7 @@ private DefaultAsyncHttpClientConfig(// http
// timeouts
Duration connectTimeout,
Duration requestTimeout,
int readTimeout,
Duration readTimeout,
int shutdownQuietPeriod,
int shutdownTimeout,

Expand Down Expand Up @@ -483,7 +483,7 @@ public Duration getRequestTimeout() {
}

@Override
public int getReadTimeout() {
public Duration getReadTimeout() {
return readTimeout;
}

Expand Down Expand Up @@ -798,7 +798,7 @@ public static class Builder {
// timeouts
private Duration connectTimeout = defaultConnectTimeout();
private Duration requestTimeout = defaultRequestTimeout();
private int readTimeout = defaultReadTimeout();
private Duration readTimeout = defaultReadTimeout();
private int shutdownQuietPeriod = defaultShutdownQuietPeriod();
private int shutdownTimeout = defaultShutdownTimeout();

Expand Down Expand Up @@ -1069,7 +1069,7 @@ public Builder setRequestTimeout(Duration requestTimeout) {
return this;
}

public Builder setReadTimeout(int readTimeout) {
public Builder setReadTimeout(Duration readTimeout) {
this.readTimeout = readTimeout;
return this;
}
Expand Down
8 changes: 4 additions & 4 deletions client/src/main/java/org/asynchttpclient/DefaultRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public class DefaultRequest implements Request {
private final File file;
private final Boolean followRedirect;
private final Duration requestTimeout;
private final int readTimeout;
private final Duration readTimeout;
private final long rangeOffset;
private final Charset charset;
private final ChannelPoolPartitioning channelPoolPartitioning;
Expand Down Expand Up @@ -88,7 +88,7 @@ public DefaultRequest(String method,
File file,
Boolean followRedirect,
Duration requestTimeout,
int readTimeout,
Duration readTimeout,
long rangeOffset,
Charset charset,
ChannelPoolPartitioning channelPoolPartitioning,
Expand All @@ -113,7 +113,7 @@ public DefaultRequest(String method,
this.file = file;
this.followRedirect = followRedirect;
this.requestTimeout = requestTimeout == null ? Duration.ZERO : requestTimeout;
this.readTimeout = readTimeout;
this.readTimeout = readTimeout == null ? Duration.ZERO : readTimeout;
this.rangeOffset = rangeOffset;
this.charset = charset;
this.channelPoolPartitioning = channelPoolPartitioning;
Expand Down Expand Up @@ -226,7 +226,7 @@ public Duration getRequestTimeout() {
}

@Override
public int getReadTimeout() {
public Duration getReadTimeout() {
return readTimeout;
}

Expand Down
2 changes: 1 addition & 1 deletion client/src/main/java/org/asynchttpclient/Request.java
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ public interface Request {
/**
* @return the read timeout. Non zero values means "override config value".
*/
int getReadTimeout();
Duration getReadTimeout();

/**
* @return the range header value, or 0 is not set.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ public abstract class RequestBuilderBase<T extends RequestBuilderBase<T>> {
protected File file;
protected Boolean followRedirect;
protected Duration requestTimeout;
protected int readTimeout;
protected Duration readTimeout;
protected long rangeOffset;
protected Charset charset;
protected ChannelPoolPartitioning channelPoolPartitioning = ChannelPoolPartitioning.PerHostChannelPoolPartitioning.INSTANCE;
Expand Down Expand Up @@ -509,7 +509,7 @@ public T setRequestTimeout(Duration requestTimeout) {
return asDerivedType();
}

public T setReadTimeout(int readTimeout) {
public T setReadTimeout(Duration readTimeout) {
this.readTimeout = readTimeout;
return asDerivedType();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,8 @@ public static int defaultConnectionPoolCleanerPeriod() {
return AsyncHttpClientConfigHelper.getAsyncHttpClientConfig().getInt(ASYNC_CLIENT_CONFIG_ROOT + CONNECTION_POOL_CLEANER_PERIOD_CONFIG);
}

public static int defaultReadTimeout() {
return AsyncHttpClientConfigHelper.getAsyncHttpClientConfig().getInt(ASYNC_CLIENT_CONFIG_ROOT + READ_TIMEOUT_CONFIG);
public static Duration defaultReadTimeout() {
return AsyncHttpClientConfigHelper.getAsyncHttpClientConfig().getDuration(ASYNC_CLIENT_CONFIG_ROOT + READ_TIMEOUT_CONFIG);
}

public static Duration defaultRequestTimeout() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class ReadTimeoutTimerTask extends TimeoutTimerTask {

private final long readTimeout;

ReadTimeoutTimerTask(NettyResponseFuture<?> nettyResponseFuture, NettyRequestSender requestSender, TimeoutsHolder timeoutsHolder, int readTimeout) {
ReadTimeoutTimerTask(NettyResponseFuture<?> nettyResponseFuture, NettyRequestSender requestSender, TimeoutsHolder timeoutsHolder, long readTimeout) {
super(nettyResponseFuture, requestSender, timeoutsHolder);
this.readTimeout = readTimeout;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public class TimeoutsHolder {
private final Timer nettyTimer;
private final NettyRequestSender requestSender;
private final long requestTimeoutMillisTime;
private final int readTimeoutValue;
private final long readTimeoutValue;
private volatile Timeout readTimeout;
private final NettyResponseFuture<?> nettyResponseFuture;
private volatile InetSocketAddress remoteAddress;
Expand All @@ -50,8 +50,8 @@ public TimeoutsHolder(Timer nettyTimer, NettyResponseFuture<?> nettyResponseFutu

final Request targetRequest = nettyResponseFuture.getTargetRequest();

final int readTimeoutInMs = targetRequest.getReadTimeout();
readTimeoutValue = readTimeoutInMs == 0 ? config.getReadTimeout() : readTimeoutInMs;
final long readTimeoutInMs = targetRequest.getReadTimeout().toMillis();
readTimeoutValue = readTimeoutInMs == 0 ? config.getReadTimeout().toMillis() : readTimeoutInMs;

long requestTimeoutInMs = targetRequest.getRequestTimeout().toMillis();
if (requestTimeoutInMs == 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ org.asynchttpclient.acquireFreeChannelTimeout=0
org.asynchttpclient.connectTimeout=PT5S
org.asynchttpclient.pooledConnectionIdleTimeout=60000
org.asynchttpclient.connectionPoolCleanerPeriod=100
org.asynchttpclient.readTimeout=60000
org.asynchttpclient.readTimeout=PT1M
org.asynchttpclient.requestTimeout=PT1M
org.asynchttpclient.connectionTtl=-1
org.asynchttpclient.followRedirect=false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ public void testDefaultPooledConnectionIdleTimeout() {

@RepeatedIfExceptionsTest(repeats = 5)
public void testDefaultReadTimeout() {
assertEquals(AsyncHttpClientConfigDefaults.defaultReadTimeout(), 60 * 1000);
testIntegerSystemProperty("readTimeout", "defaultReadTimeout", "100");
assertEquals(AsyncHttpClientConfigDefaults.defaultReadTimeout(), Duration.ofSeconds(60));
testDurationSystemProperty("readTimeout", "defaultReadTimeout", "PT0.1S");
}

@RepeatedIfExceptionsTest(repeats = 5)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public void testRequestTimeout() throws IOException {

@RepeatedIfExceptionsTest(repeats = 5)
public void testReadTimeout() throws IOException {
try (AsyncHttpClient client = asyncHttpClient(config().setReadTimeout(100))) {
try (AsyncHttpClient client = asyncHttpClient(config().setReadTimeout(Duration.ofMillis(100)))) {
Future<Response> responseFuture = client.prepareGet(getTargetUrl()).execute();
Response response = responseFuture.get(2000, TimeUnit.MILLISECONDS);
assertNull(response);
Expand Down

0 comments on commit 706290e

Please sign in to comment.