Skip to content

Commit 0ebfd64

Browse files
authored
Changed requestTimeout's type to java.time.Duration (#1864)
1 parent e12e8d4 commit 0ebfd64

28 files changed

+70
-53
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@
120120
* Finally, you can configure the AsyncHttpClient using an {@link DefaultAsyncHttpClientConfig} instance.
121121
* <br>
122122
* <blockquote><pre>
123-
* AsyncHttpClient c = new AsyncHttpClient(new AsyncHttpClientConfig.Builder().setRequestTimeoutInMs(...).build());
123+
* AsyncHttpClient c = new AsyncHttpClient(new DefaultAsyncHttpClientConfig.Builder().setRequestTimeout(...).build());
124124
* Future&lt;Response&gt; f = c.prepareGet(TARGET_URL).execute();
125125
* Response r = f.get();
126126
* </pre></blockquote>

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,11 @@ public interface AsyncHttpClientConfig {
105105
int getConnectionPoolCleanerPeriod();
106106

107107
/**
108-
* Return the maximum time in millisecond an {@link AsyncHttpClient} waits until the response is completed.
108+
* Return the maximum time an {@link AsyncHttpClient} waits until the response is completed.
109109
*
110-
* @return the maximum time in millisecond an {@link AsyncHttpClient} waits until the response is completed.
110+
* @return the maximum time an {@link AsyncHttpClient} waits until the response is completed.
111111
*/
112-
int getRequestTimeout();
112+
Duration getRequestTimeout();
113113

114114
/**
115115
* Is HTTP redirect enabled

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public class DefaultAsyncHttpClientConfig implements AsyncHttpClientConfig {
132132

133133
// timeouts
134134
private final Duration connectTimeout;
135-
private final int requestTimeout;
135+
private final Duration requestTimeout;
136136
private final int readTimeout;
137137
private final int shutdownQuietPeriod;
138138
private final int shutdownTimeout;
@@ -217,7 +217,7 @@ private DefaultAsyncHttpClientConfig(// http
217217

218218
// timeouts
219219
Duration connectTimeout,
220-
int requestTimeout,
220+
Duration requestTimeout,
221221
int readTimeout,
222222
int shutdownQuietPeriod,
223223
int shutdownTimeout,
@@ -478,7 +478,7 @@ public Duration getConnectTimeout() {
478478
}
479479

480480
@Override
481-
public int getRequestTimeout() {
481+
public Duration getRequestTimeout() {
482482
return requestTimeout;
483483
}
484484

@@ -797,7 +797,7 @@ public static class Builder {
797797

798798
// timeouts
799799
private Duration connectTimeout = defaultConnectTimeout();
800-
private int requestTimeout = defaultRequestTimeout();
800+
private Duration requestTimeout = defaultRequestTimeout();
801801
private int readTimeout = defaultReadTimeout();
802802
private int shutdownQuietPeriod = defaultShutdownQuietPeriod();
803803
private int shutdownTimeout = defaultShutdownTimeout();
@@ -1064,7 +1064,7 @@ public Builder setConnectTimeout(Duration connectTimeout) {
10641064
return this;
10651065
}
10661066

1067-
public Builder setRequestTimeout(int requestTimeout) {
1067+
public Builder setRequestTimeout(Duration requestTimeout) {
10681068
this.requestTimeout = requestTimeout;
10691069
return this;
10701070
}

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import java.net.InetAddress;
3030
import java.nio.ByteBuffer;
3131
import java.nio.charset.Charset;
32+
import java.time.Duration;
3233
import java.util.ArrayList;
3334
import java.util.Collections;
3435
import java.util.List;
@@ -57,7 +58,7 @@ public class DefaultRequest implements Request {
5758
private final Realm realm;
5859
private final File file;
5960
private final Boolean followRedirect;
60-
private final int requestTimeout;
61+
private final Duration requestTimeout;
6162
private final int readTimeout;
6263
private final long rangeOffset;
6364
private final Charset charset;
@@ -86,7 +87,7 @@ public DefaultRequest(String method,
8687
Realm realm,
8788
File file,
8889
Boolean followRedirect,
89-
int requestTimeout,
90+
Duration requestTimeout,
9091
int readTimeout,
9192
long rangeOffset,
9293
Charset charset,
@@ -111,7 +112,7 @@ public DefaultRequest(String method,
111112
this.realm = realm;
112113
this.file = file;
113114
this.followRedirect = followRedirect;
114-
this.requestTimeout = requestTimeout;
115+
this.requestTimeout = requestTimeout == null ? Duration.ZERO : requestTimeout;
115116
this.readTimeout = readTimeout;
116117
this.rangeOffset = rangeOffset;
117118
this.charset = charset;
@@ -220,7 +221,7 @@ public Boolean getFollowRedirect() {
220221
}
221222

222223
@Override
223-
public int getRequestTimeout() {
224+
public Duration getRequestTimeout() {
224225
return requestTimeout;
225226
}
226227

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import java.net.InetAddress;
3131
import java.nio.ByteBuffer;
3232
import java.nio.charset.Charset;
33+
import java.time.Duration;
3334
import java.util.List;
3435

3536
/**
@@ -154,7 +155,7 @@ public interface Request {
154155
/**
155156
* @return the request timeout. Non zero values means "override config value".
156157
*/
157-
int getRequestTimeout();
158+
Duration getRequestTimeout();
158159

159160
/**
160161
* @return the read timeout. Non zero values means "override config value".

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.net.InetAddress;
3636
import java.nio.ByteBuffer;
3737
import java.nio.charset.Charset;
38+
import java.time.Duration;
3839
import java.util.ArrayList;
3940
import java.util.Collection;
4041
import java.util.Collections;
@@ -82,7 +83,7 @@ public abstract class RequestBuilderBase<T extends RequestBuilderBase<T>> {
8283
protected Realm realm;
8384
protected File file;
8485
protected Boolean followRedirect;
85-
protected int requestTimeout;
86+
protected Duration requestTimeout;
8687
protected int readTimeout;
8788
protected long rangeOffset;
8889
protected Charset charset;
@@ -503,7 +504,7 @@ public T setFollowRedirect(boolean followRedirect) {
503504
return asDerivedType();
504505
}
505506

506-
public T setRequestTimeout(int requestTimeout) {
507+
public T setRequestTimeout(Duration requestTimeout) {
507508
this.requestTimeout = requestTimeout;
508509
return asDerivedType();
509510
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ public static int defaultReadTimeout() {
127127
return AsyncHttpClientConfigHelper.getAsyncHttpClientConfig().getInt(ASYNC_CLIENT_CONFIG_ROOT + READ_TIMEOUT_CONFIG);
128128
}
129129

130-
public static int defaultRequestTimeout() {
131-
return AsyncHttpClientConfigHelper.getAsyncHttpClientConfig().getInt(ASYNC_CLIENT_CONFIG_ROOT + REQUEST_TIMEOUT_CONFIG);
130+
public static Duration defaultRequestTimeout() {
131+
return AsyncHttpClientConfigHelper.getAsyncHttpClientConfig().getDuration(ASYNC_CLIENT_CONFIG_ROOT + REQUEST_TIMEOUT_CONFIG);
132132
}
133133

134134
public static int defaultConnectionTtl() {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class RequestTimeoutTimerTask extends TimeoutTimerTask {
2929
RequestTimeoutTimerTask(NettyResponseFuture<?> nettyResponseFuture,
3030
NettyRequestSender requestSender,
3131
TimeoutsHolder timeoutsHolder,
32-
int requestTimeout) {
32+
long requestTimeout) {
3333
super(nettyResponseFuture, requestSender, timeoutsHolder);
3434
this.requestTimeout = requestTimeout;
3535
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,12 @@ public TimeoutsHolder(Timer nettyTimer, NettyResponseFuture<?> nettyResponseFutu
5353
final int readTimeoutInMs = targetRequest.getReadTimeout();
5454
readTimeoutValue = readTimeoutInMs == 0 ? config.getReadTimeout() : readTimeoutInMs;
5555

56-
int requestTimeoutInMs = targetRequest.getRequestTimeout();
56+
long requestTimeoutInMs = targetRequest.getRequestTimeout().toMillis();
5757
if (requestTimeoutInMs == 0) {
58-
requestTimeoutInMs = config.getRequestTimeout();
58+
requestTimeoutInMs = config.getRequestTimeout().toMillis();
5959
}
6060

61-
if (requestTimeoutInMs != -1) {
61+
if (requestTimeoutInMs > -1) {
6262
requestTimeoutMillisTime = unpreciseMillisTime() + requestTimeoutInMs;
6363
requestTimeout = newTimeout(new RequestTimeoutTimerTask(nettyResponseFuture, requestSender, this, requestTimeoutInMs), requestTimeoutInMs);
6464
} else {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ org.asynchttpclient.connectTimeout=PT5S
66
org.asynchttpclient.pooledConnectionIdleTimeout=60000
77
org.asynchttpclient.connectionPoolCleanerPeriod=100
88
org.asynchttpclient.readTimeout=60000
9-
org.asynchttpclient.requestTimeout=60000
9+
org.asynchttpclient.requestTimeout=PT1M
1010
org.asynchttpclient.connectionTtl=-1
1111
org.asynchttpclient.followRedirect=false
1212
org.asynchttpclient.maxRedirects=5

0 commit comments

Comments
 (0)