Skip to content

Commit ee11c49

Browse files
author
Kunal Kak
committed
comments pt2
1 parent dcb3e24 commit ee11c49

File tree

4 files changed

+16
-15
lines changed

4 files changed

+16
-15
lines changed

dialogue-core/src/main/java/com/palantir/dialogue/core/Config.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
import com.github.benmanes.caffeine.cache.Ticker;
2020
import com.palantir.conjure.java.client.config.ClientConfiguration;
2121
import com.palantir.conjure.java.client.config.ClientConfiguration.ClientQoS;
22-
import com.palantir.deadlines.Deadlines.Enforcement;
2322
import com.palantir.logsafe.DoNotLog;
2423
import com.palantir.logsafe.Preconditions;
2524
import com.palantir.logsafe.SafeArg;
2625
import com.palantir.logsafe.exceptions.SafeIllegalArgumentException;
2726
import com.palantir.random.SafeThreadLocalRandom;
2827
import com.palantir.refreshable.Refreshable;
2928
import java.util.List;
29+
import java.util.Optional;
3030
import java.util.OptionalInt;
3131
import java.util.Random;
3232
import java.util.concurrent.ScheduledExecutorService;
@@ -81,8 +81,8 @@ default int maxQueueSize() {
8181
OptionalInt overrideSingleHostIndex();
8282

8383
@Value.Default
84-
default Enforcement deadlineEnforcement() {
85-
return Enforcement.DEFER;
84+
default Optional<Boolean> deadlineEnforcement() {
85+
return Optional.empty();
8686
}
8787

8888
@Value.Check

dialogue-core/src/main/java/com/palantir/dialogue/core/DeadlineAdvertisementChannel.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.palantir.dialogue.Request;
2727
import com.palantir.dialogue.Response;
2828
import java.time.Duration;
29+
import java.util.Optional;
2930

3031
final class DeadlineAdvertisementChannel implements Channel {
3132

@@ -34,11 +35,15 @@ final class DeadlineAdvertisementChannel implements Channel {
3435
private final Deadlines.Enforcement enforcement;
3536

3637
static DeadlineAdvertisementChannel create(Channel delegate, Duration readTimeout) {
37-
return new DeadlineAdvertisementChannel(delegate, readTimeout, Deadlines.Enforcement.DEFER);
38+
return new DeadlineAdvertisementChannel(delegate, readTimeout, Enforcement.DEFER);
3839
}
3940

40-
static DeadlineAdvertisementChannel create(Channel delegate, Duration readTimeout, Enforcement enforcement) {
41-
return new DeadlineAdvertisementChannel(delegate, readTimeout, enforcement);
41+
static DeadlineAdvertisementChannel create(
42+
Channel delegate, Duration readTimeout, Optional<Boolean> enforceDeadlines) {
43+
Enforcement deadlineEnforcement = enforceDeadlines
44+
.map(value -> value ? Enforcement.ENFORCE : Enforcement.DISABLE)
45+
.orElse(Enforcement.DEFER);
46+
return new DeadlineAdvertisementChannel(delegate, readTimeout, deadlineEnforcement);
4247
}
4348

4449
private DeadlineAdvertisementChannel(Channel delegate, Duration readTimeout, Deadlines.Enforcement enforcement) {

dialogue-core/src/main/java/com/palantir/dialogue/core/DialogueChannel.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import com.google.common.util.concurrent.ListenableFuture;
2626
import com.google.errorprone.annotations.CheckReturnValue;
2727
import com.palantir.conjure.java.client.config.ClientConfiguration;
28-
import com.palantir.deadlines.Deadlines.Enforcement;
2928
import com.palantir.dialogue.Channel;
3029
import com.palantir.dialogue.Endpoint;
3130
import com.palantir.dialogue.EndpointChannel;
@@ -146,10 +145,7 @@ public Builder overrideHostIndex(OptionalInt maybeUriIndex) {
146145
}
147146

148147
public Builder deadlineEnforcement(Optional<Boolean> deadlineEnforcement) {
149-
Enforcement enforcement = deadlineEnforcement
150-
.map(enforce -> enforce ? Enforcement.ENFORCE : Enforcement.DISABLE)
151-
.orElse(Enforcement.DEFER);
152-
builder.deadlineEnforcement(enforcement);
148+
builder.deadlineEnforcement(deadlineEnforcement);
153149
return this;
154150
}
155151

dialogue-core/src/test/java/com/palantir/dialogue/core/DeadlineAdvertisementChannelTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ void returns_failed_future_on_expired_deadline() {
140140
Request.builder().putHeaderParams("Expect-Within", "0").build();
141141
Deadlines.parseFromRequest(Optional.empty(), inboundRequest, Decoder.INSTANCE, Enforcement.ENFORCE);
142142

143-
Channel channel = DeadlineAdvertisementChannel.create(delegate, readTimeout, Enforcement.ENFORCE);
143+
Channel channel = DeadlineAdvertisementChannel.create(delegate, readTimeout, Optional.of(true));
144144
ListenableFuture<Response> response =
145145
channel.execute(TestEndpoint.GET, Request.builder().build());
146146
assertThat(response).isDone();
@@ -165,7 +165,7 @@ void expired_deadline_respects_client_enforcement_strategy() throws ExecutionExc
165165
Request.builder().putHeaderParams("Expect-Within", "0").build();
166166
Deadlines.parseFromRequest(Optional.empty(), inboundRequest, Decoder.INSTANCE, Enforcement.ENFORCE);
167167

168-
Channel channel = DeadlineAdvertisementChannel.create(delegate, readTimeout, Enforcement.DISABLE);
168+
Channel channel = DeadlineAdvertisementChannel.create(delegate, readTimeout, Optional.of(false));
169169
assertThat(channel.execute(TestEndpoint.GET, Request.builder().build()))
170170
.isCancelled();
171171
assertThat(requests).singleElement().satisfies(request -> {
@@ -202,7 +202,7 @@ void adds_enforcement_header_when_enabled() {
202202
requests.add(request);
203203
return Futures.immediateCancelledFuture();
204204
};
205-
Channel channel = DeadlineAdvertisementChannel.create(delegate, readTimeout, Enforcement.ENFORCE);
205+
Channel channel = DeadlineAdvertisementChannel.create(delegate, readTimeout, Optional.of(true));
206206
assertThat(channel.execute(TestEndpoint.GET, Request.builder().build())).isCancelled();
207207

208208
assertThat(requests).singleElement().satisfies(request -> {
@@ -220,7 +220,7 @@ void adds_enforcement_header_when_disabled() {
220220
requests.add(request);
221221
return Futures.immediateCancelledFuture();
222222
};
223-
Channel channel = DeadlineAdvertisementChannel.create(delegate, readTimeout, Enforcement.DISABLE);
223+
Channel channel = DeadlineAdvertisementChannel.create(delegate, readTimeout, Optional.of(false));
224224
assertThat(channel.execute(TestEndpoint.GET, Request.builder().build())).isCancelled();
225225

226226
assertThat(requests).singleElement().satisfies(request -> {

0 commit comments

Comments
 (0)