Skip to content

Commit 16a4f8a

Browse files
authored
Expand allowed types to accommodate custom service discoverer events (#2379)
Motivation: The types in the client builders are too restrictive and prevent us from using them with custom ServiceDiscoverers with custom ServiceDiscovererEvent implementations. Changes: Open up the types so we can use these APIs with a larger selection of custom ServiceDiscoverers. This change is not breaking.
1 parent 509bec5 commit 16a4f8a

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

servicetalk-grpc-netty/src/main/java/io/servicetalk/grpc/netty/GrpcClients.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,8 @@ public static <T extends SocketAddress> GrpcClientBuilder<T, T> forResolvedAddre
182182
* @see GrpcClientBuilderProvider
183183
*/
184184
public static <U, R>
185-
GrpcClientBuilder<U, R> forAddress(final ServiceDiscoverer<U, R, ServiceDiscovererEvent<R>> serviceDiscoverer,
186-
final U address) {
185+
GrpcClientBuilder<U, R> forAddress(
186+
final ServiceDiscoverer<U, R, ? extends ServiceDiscovererEvent<R>> serviceDiscoverer, final U address) {
187187
return applyProviders(address,
188188
new DefaultGrpcClientBuilder<>(() -> HttpClients.forSingleAddress(serviceDiscoverer, address)));
189189
}

servicetalk-http-api/src/main/java/io/servicetalk/http/api/DelegatingSingleAddressHttpClientBuilder.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ public SingleAddressHttpClientBuilder<U, R> unresolvedAddressToHost(
171171

172172
@Override
173173
public SingleAddressHttpClientBuilder<U, R> serviceDiscoverer(
174-
final ServiceDiscoverer<U, R, ServiceDiscovererEvent<R>> serviceDiscoverer) {
174+
final ServiceDiscoverer<U, R, ? extends ServiceDiscovererEvent<R>> serviceDiscoverer) {
175175
delegate = delegate.serviceDiscoverer(serviceDiscoverer);
176176
return this;
177177
}

servicetalk-http-api/src/main/java/io/servicetalk/http/api/SingleAddressHttpClientBuilder.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ SingleAddressHttpClientBuilder<U, R> unresolvedAddressToHost(
306306
* @return {@code this}.
307307
*/
308308
SingleAddressHttpClientBuilder<U, R> serviceDiscoverer(
309-
ServiceDiscoverer<U, R, ServiceDiscovererEvent<R>> serviceDiscoverer);
309+
ServiceDiscoverer<U, R, ? extends ServiceDiscovererEvent<R>> serviceDiscoverer);
310310

311311
/**
312312
* Sets a retry strategy to retry errors emitted by {@link ServiceDiscoverer}.

servicetalk-http-netty/src/main/java/io/servicetalk/http/netty/DefaultSingleAddressHttpClientBuilder.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ final class DefaultSingleAddressHttpClientBuilder<U, R> implements SingleAddress
112112
final HttpExecutionContextBuilder executionContextBuilder;
113113
private final ClientStrategyInfluencerChainBuilder strategyComputation;
114114
private HttpLoadBalancerFactory<R> loadBalancerFactory;
115-
private ServiceDiscoverer<U, R, ServiceDiscovererEvent<R>> serviceDiscoverer;
115+
private ServiceDiscoverer<U, R, ? extends ServiceDiscovererEvent<R>> serviceDiscoverer;
116116
private Function<U, CharSequence> hostToCharSequenceFunction =
117117
DefaultSingleAddressHttpClientBuilder::toAuthorityForm;
118118
private boolean addHostHeaderFallbackFilter = true;
@@ -132,7 +132,7 @@ final class DefaultSingleAddressHttpClientBuilder<U, R> implements SingleAddress
132132

133133
// Do not use this ctor directly, HttpClients is the entry point for creating a new builder.
134134
DefaultSingleAddressHttpClientBuilder(
135-
final U address, final ServiceDiscoverer<U, R, ServiceDiscovererEvent<R>> serviceDiscoverer) {
135+
final U address, final ServiceDiscoverer<U, R, ? extends ServiceDiscovererEvent<R>> serviceDiscoverer) {
136136
this.address = requireNonNull(address);
137137
config = new HttpClientConfig();
138138
executionContextBuilder = new HttpExecutionContextBuilder();
@@ -170,7 +170,7 @@ static <U, R> SingleAddressHttpClientBuilder<U, R> setExecutionContext(
170170

171171
private static final class HttpClientBuildContext<U, R> {
172172
final DefaultSingleAddressHttpClientBuilder<U, R> builder;
173-
private final ServiceDiscoverer<U, R, ServiceDiscovererEvent<R>> sd;
173+
private final ServiceDiscoverer<U, R, ? extends ServiceDiscovererEvent<R>> sd;
174174
private final SdStatusCompletable sdStatus;
175175

176176
@Nullable
@@ -180,7 +180,7 @@ private static final class HttpClientBuildContext<U, R> {
180180

181181
HttpClientBuildContext(
182182
final DefaultSingleAddressHttpClientBuilder<U, R> builder,
183-
final ServiceDiscoverer<U, R, ServiceDiscovererEvent<R>> sd,
183+
final ServiceDiscoverer<U, R, ? extends ServiceDiscovererEvent<R>> sd,
184184
@Nullable final BiIntFunction<Throwable, ? extends Completable> serviceDiscovererRetryStrategy,
185185
@Nullable final U proxyAddress) {
186186
this.builder = builder;
@@ -575,7 +575,7 @@ public DefaultSingleAddressHttpClientBuilder<U, R> appendClientFilter(
575575

576576
@Override
577577
public DefaultSingleAddressHttpClientBuilder<U, R> serviceDiscoverer(
578-
final ServiceDiscoverer<U, R, ServiceDiscovererEvent<R>> serviceDiscoverer) {
578+
final ServiceDiscoverer<U, R, ? extends ServiceDiscovererEvent<R>> serviceDiscoverer) {
579579
this.serviceDiscoverer = requireNonNull(serviceDiscoverer);
580580
return this;
581581
}

servicetalk-http-netty/src/main/java/io/servicetalk/http/netty/HttpClients.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ public static <R extends SocketAddress> SingleAddressHttpClientBuilder<R, R> for
274274
* @see SingleAddressHttpClientBuilderProvider
275275
*/
276276
public static <U, R> SingleAddressHttpClientBuilder<U, R> forSingleAddress(
277-
final ServiceDiscoverer<U, R, ServiceDiscovererEvent<R>> serviceDiscoverer,
277+
final ServiceDiscoverer<U, R, ? extends ServiceDiscovererEvent<R>> serviceDiscoverer,
278278
final U address) {
279279
return applyProviders(address, new DefaultSingleAddressHttpClientBuilder<>(address, serviceDiscoverer));
280280
}

0 commit comments

Comments
 (0)