Skip to content

Commit b898917

Browse files
chore: expose the user set executor on TransportProvider (#13557)
This allows service clients to reuse that executor for other transport related things in addition to gax
1 parent 53b7142 commit b898917

4 files changed

Lines changed: 28 additions & 0 deletions

File tree

java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/gaxx/grpc/BigtableTransportChannelProvider.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,12 @@ public boolean needsExecutor() {
7474
return delegate.needsExecutor();
7575
}
7676

77+
@Nullable
78+
@Override
79+
public Executor getExecutor() {
80+
return delegate.getExecutor();
81+
}
82+
7783
@Override
7884
@Deprecated
7985
public BigtableTransportChannelProvider withExecutor(ScheduledExecutorService executor) {

sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,12 @@ public boolean needsExecutor() {
264264
return executor == null;
265265
}
266266

267+
@Nullable
268+
@Override
269+
public Executor getExecutor() {
270+
return executor;
271+
}
272+
267273
@Deprecated
268274
@Override
269275
public TransportChannelProvider withExecutor(ScheduledExecutorService executor) {

sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,12 @@ public boolean needsExecutor() {
105105
return executor == null;
106106
}
107107

108+
@Nullable
109+
@Override
110+
public Executor getExecutor() {
111+
return executor;
112+
}
113+
108114
@Deprecated
109115
@Override
110116
public TransportChannelProvider withExecutor(ScheduledExecutorService executor) {

sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/TransportChannelProvider.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import java.util.Map;
3737
import java.util.concurrent.Executor;
3838
import java.util.concurrent.ScheduledExecutorService;
39+
import javax.annotation.Nullable;
3940

4041
/**
4142
* Provides an interface to either build a TransportChannel or provide a fixed TransportChannel that
@@ -70,6 +71,15 @@ public interface TransportChannelProvider {
7071
@Deprecated
7172
boolean needsExecutor();
7273

74+
/**
75+
* @return the user provided executor. This can be null if the user didn't override the executor
76+
* and/or the TransportProvider is using its internal executor.
77+
*/
78+
@Nullable
79+
default Executor getExecutor() {
80+
return null;
81+
}
82+
7383
/** Sets the executor to use when constructing a new {@link TransportChannel}. */
7484
TransportChannelProvider withExecutor(Executor executor);
7585

0 commit comments

Comments
 (0)