Skip to content

Commit e294c70

Browse files
authored
Changed readTimeout's type to java.time.Duration (#1865)
1 parent 0ebfd64 commit e294c70

File tree

11 files changed

+25
-25
lines changed

11 files changed

+25
-25
lines changed

client/src/main/java/org/asynchttpclient/AsyncHttpClientConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,11 @@ public interface AsyncHttpClientConfig {
8686
Duration getConnectTimeout();
8787

8888
/**
89-
* Return the maximum time in millisecond an {@link AsyncHttpClient} can stay idle.
89+
* Return the maximum time an {@link AsyncHttpClient} can stay idle.
9090
*
91-
* @return the maximum time in millisecond an {@link AsyncHttpClient} can stay idle.
91+
* @return the maximum time an {@link AsyncHttpClient} can stay idle.
9292
*/
93-
int getReadTimeout();
93+
Duration getReadTimeout();
9494

9595
/**
9696
* Return the maximum time in millisecond an {@link AsyncHttpClient} will keep connection in pool.

client/src/main/java/org/asynchttpclient/DefaultAsyncHttpClientConfig.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ public class DefaultAsyncHttpClientConfig implements AsyncHttpClientConfig {
133133
// timeouts
134134
private final Duration connectTimeout;
135135
private final Duration requestTimeout;
136-
private final int readTimeout;
136+
private final Duration readTimeout;
137137
private final int shutdownQuietPeriod;
138138
private final int shutdownTimeout;
139139

@@ -218,7 +218,7 @@ private DefaultAsyncHttpClientConfig(// http
218218
// timeouts
219219
Duration connectTimeout,
220220
Duration requestTimeout,
221-
int readTimeout,
221+
Duration readTimeout,
222222
int shutdownQuietPeriod,
223223
int shutdownTimeout,
224224

@@ -483,7 +483,7 @@ public Duration getRequestTimeout() {
483483
}
484484

485485
@Override
486-
public int getReadTimeout() {
486+
public Duration getReadTimeout() {
487487
return readTimeout;
488488
}
489489

@@ -798,7 +798,7 @@ public static class Builder {
798798
// timeouts
799799
private Duration connectTimeout = defaultConnectTimeout();
800800
private Duration requestTimeout = defaultRequestTimeout();
801-
private int readTimeout = defaultReadTimeout();
801+
private Duration readTimeout = defaultReadTimeout();
802802
private int shutdownQuietPeriod = defaultShutdownQuietPeriod();
803803
private int shutdownTimeout = defaultShutdownTimeout();
804804

@@ -1069,7 +1069,7 @@ public Builder setRequestTimeout(Duration requestTimeout) {
10691069
return this;
10701070
}
10711071

1072-
public Builder setReadTimeout(int readTimeout) {
1072+
public Builder setReadTimeout(Duration readTimeout) {
10731073
this.readTimeout = readTimeout;
10741074
return this;
10751075
}

client/src/main/java/org/asynchttpclient/DefaultRequest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public class DefaultRequest implements Request {
5959
private final File file;
6060
private final Boolean followRedirect;
6161
private final Duration requestTimeout;
62-
private final int readTimeout;
62+
private final Duration readTimeout;
6363
private final long rangeOffset;
6464
private final Charset charset;
6565
private final ChannelPoolPartitioning channelPoolPartitioning;
@@ -88,7 +88,7 @@ public DefaultRequest(String method,
8888
File file,
8989
Boolean followRedirect,
9090
Duration requestTimeout,
91-
int readTimeout,
91+
Duration readTimeout,
9292
long rangeOffset,
9393
Charset charset,
9494
ChannelPoolPartitioning channelPoolPartitioning,
@@ -113,7 +113,7 @@ public DefaultRequest(String method,
113113
this.file = file;
114114
this.followRedirect = followRedirect;
115115
this.requestTimeout = requestTimeout == null ? Duration.ZERO : requestTimeout;
116-
this.readTimeout = readTimeout;
116+
this.readTimeout = readTimeout == null ? Duration.ZERO : readTimeout;
117117
this.rangeOffset = rangeOffset;
118118
this.charset = charset;
119119
this.channelPoolPartitioning = channelPoolPartitioning;
@@ -226,7 +226,7 @@ public Duration getRequestTimeout() {
226226
}
227227

228228
@Override
229-
public int getReadTimeout() {
229+
public Duration getReadTimeout() {
230230
return readTimeout;
231231
}
232232

client/src/main/java/org/asynchttpclient/Request.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ public interface Request {
160160
/**
161161
* @return the read timeout. Non zero values means "override config value".
162162
*/
163-
int getReadTimeout();
163+
Duration getReadTimeout();
164164

165165
/**
166166
* @return the range header value, or 0 is not set.

client/src/main/java/org/asynchttpclient/RequestBuilderBase.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public abstract class RequestBuilderBase<T extends RequestBuilderBase<T>> {
8484
protected File file;
8585
protected Boolean followRedirect;
8686
protected Duration requestTimeout;
87-
protected int readTimeout;
87+
protected Duration readTimeout;
8888
protected long rangeOffset;
8989
protected Charset charset;
9090
protected ChannelPoolPartitioning channelPoolPartitioning = ChannelPoolPartitioning.PerHostChannelPoolPartitioning.INSTANCE;
@@ -509,7 +509,7 @@ public T setRequestTimeout(Duration requestTimeout) {
509509
return asDerivedType();
510510
}
511511

512-
public T setReadTimeout(int readTimeout) {
512+
public T setReadTimeout(Duration readTimeout) {
513513
this.readTimeout = readTimeout;
514514
return asDerivedType();
515515
}

client/src/main/java/org/asynchttpclient/config/AsyncHttpClientConfigDefaults.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ public static int defaultConnectionPoolCleanerPeriod() {
123123
return AsyncHttpClientConfigHelper.getAsyncHttpClientConfig().getInt(ASYNC_CLIENT_CONFIG_ROOT + CONNECTION_POOL_CLEANER_PERIOD_CONFIG);
124124
}
125125

126-
public static int defaultReadTimeout() {
127-
return AsyncHttpClientConfigHelper.getAsyncHttpClientConfig().getInt(ASYNC_CLIENT_CONFIG_ROOT + READ_TIMEOUT_CONFIG);
126+
public static Duration defaultReadTimeout() {
127+
return AsyncHttpClientConfigHelper.getAsyncHttpClientConfig().getDuration(ASYNC_CLIENT_CONFIG_ROOT + READ_TIMEOUT_CONFIG);
128128
}
129129

130130
public static Duration defaultRequestTimeout() {

client/src/main/java/org/asynchttpclient/netty/timeout/ReadTimeoutTimerTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public class ReadTimeoutTimerTask extends TimeoutTimerTask {
2626

2727
private final long readTimeout;
2828

29-
ReadTimeoutTimerTask(NettyResponseFuture<?> nettyResponseFuture, NettyRequestSender requestSender, TimeoutsHolder timeoutsHolder, int readTimeout) {
29+
ReadTimeoutTimerTask(NettyResponseFuture<?> nettyResponseFuture, NettyRequestSender requestSender, TimeoutsHolder timeoutsHolder, long readTimeout) {
3030
super(nettyResponseFuture, requestSender, timeoutsHolder);
3131
this.readTimeout = readTimeout;
3232
}

client/src/main/java/org/asynchttpclient/netty/timeout/TimeoutsHolder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public class TimeoutsHolder {
3636
private final Timer nettyTimer;
3737
private final NettyRequestSender requestSender;
3838
private final long requestTimeoutMillisTime;
39-
private final int readTimeoutValue;
39+
private final long readTimeoutValue;
4040
private volatile Timeout readTimeout;
4141
private final NettyResponseFuture<?> nettyResponseFuture;
4242
private volatile InetSocketAddress remoteAddress;
@@ -50,8 +50,8 @@ public TimeoutsHolder(Timer nettyTimer, NettyResponseFuture<?> nettyResponseFutu
5050

5151
final Request targetRequest = nettyResponseFuture.getTargetRequest();
5252

53-
final int readTimeoutInMs = targetRequest.getReadTimeout();
54-
readTimeoutValue = readTimeoutInMs == 0 ? config.getReadTimeout() : readTimeoutInMs;
53+
final long readTimeoutInMs = targetRequest.getReadTimeout().toMillis();
54+
readTimeoutValue = readTimeoutInMs == 0 ? config.getReadTimeout().toMillis() : readTimeoutInMs;
5555

5656
long requestTimeoutInMs = targetRequest.getRequestTimeout().toMillis();
5757
if (requestTimeoutInMs == 0) {

client/src/main/resources/org/asynchttpclient/config/ahc-default.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ org.asynchttpclient.acquireFreeChannelTimeout=0
55
org.asynchttpclient.connectTimeout=PT5S
66
org.asynchttpclient.pooledConnectionIdleTimeout=60000
77
org.asynchttpclient.connectionPoolCleanerPeriod=100
8-
org.asynchttpclient.readTimeout=60000
8+
org.asynchttpclient.readTimeout=PT1M
99
org.asynchttpclient.requestTimeout=PT1M
1010
org.asynchttpclient.connectionTtl=-1
1111
org.asynchttpclient.followRedirect=false

client/src/test/java/org/asynchttpclient/AsyncHttpClientDefaultsTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ public void testDefaultPooledConnectionIdleTimeout() {
6262

6363
@RepeatedIfExceptionsTest(repeats = 5)
6464
public void testDefaultReadTimeout() {
65-
assertEquals(AsyncHttpClientConfigDefaults.defaultReadTimeout(), 60 * 1000);
66-
testIntegerSystemProperty("readTimeout", "defaultReadTimeout", "100");
65+
assertEquals(AsyncHttpClientConfigDefaults.defaultReadTimeout(), Duration.ofSeconds(60));
66+
testDurationSystemProperty("readTimeout", "defaultReadTimeout", "PT0.1S");
6767
}
6868

6969
@RepeatedIfExceptionsTest(repeats = 5)

client/src/test/java/org/asynchttpclient/PerRequestTimeoutTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public void testRequestTimeout() throws IOException {
8282

8383
@RepeatedIfExceptionsTest(repeats = 5)
8484
public void testReadTimeout() throws IOException {
85-
try (AsyncHttpClient client = asyncHttpClient(config().setReadTimeout(100))) {
85+
try (AsyncHttpClient client = asyncHttpClient(config().setReadTimeout(Duration.ofMillis(100)))) {
8686
Future<Response> responseFuture = client.prepareGet(getTargetUrl()).execute();
8787
Response response = responseFuture.get(2000, TimeUnit.MILLISECONDS);
8888
assertNull(response);

0 commit comments

Comments
 (0)