@BetaApi("The surface for streaming is not stable yet and may change in the future.") public static <RequestT, ResponseT> ServerStreamingCallable<RequestT, ResponseT> watched( ServerStreamingCallable<RequestT, ResponseT> callable, ServerStreamingCallSettings<RequestT, ResponseT> callSettings, ClientContext clientContext) { callable = new WatchdogServerStreamingCallable<>(callable, clientContext.getStreamWatchdog()); callable = callable.withDefaultCallContext( clientContext .getDefaultCallContext() .withStreamIdleTimeout(callSettings.getIdleTimeout())); return callable; }
Truth.assertThat(clientContext.getCredentials()).isSameAs(credentials); Truth.assertThat(clientContext.getClock()).isSameAs(clock); Truth.assertThat(clientContext.getStreamWatchdog()).isSameAs(watchdog); Truth.assertThat(clientContext.getStreamWatchdogCheckInterval()) .isEqualTo(watchdogCheckInterval);
protected Builder(ClientContext clientContext) { if (clientContext == null) { this.executorProvider = InstantiatingExecutorProvider.newBuilder().build(); this.transportChannelProvider = null; this.credentialsProvider = NoCredentialsProvider.create(); this.headerProvider = new NoHeaderProvider(); this.internalHeaderProvider = new NoHeaderProvider(); this.clock = NanoClock.getDefaultClock(); this.endpoint = null; this.streamWatchdogProvider = InstantiatingWatchdogProvider.create(); this.streamWatchdogCheckInterval = Duration.ofSeconds(10); this.tracerFactory = NoopApiTracerFactory.getInstance(); } else { this.executorProvider = FixedExecutorProvider.create(clientContext.getExecutor()); this.transportChannelProvider = FixedTransportChannelProvider.create(clientContext.getTransportChannel()); this.credentialsProvider = FixedCredentialsProvider.create(clientContext.getCredentials()); this.headerProvider = FixedHeaderProvider.create(clientContext.getHeaders()); this.internalHeaderProvider = FixedHeaderProvider.create(clientContext.getInternalHeaders()); this.clock = clientContext.getClock(); this.endpoint = clientContext.getEndpoint(); this.streamWatchdogProvider = FixedWatchdogProvider.create(clientContext.getStreamWatchdog()); this.streamWatchdogCheckInterval = clientContext.getStreamWatchdogCheckInterval(); this.tracerFactory = clientContext.getTracerFactory(); } }
@BetaApi("The surface for streaming is not stable yet and may change in the future.") public static <RequestT, ResponseT> ServerStreamingCallable<RequestT, ResponseT> watched( ServerStreamingCallable<RequestT, ResponseT> callable, ServerStreamingCallSettings<RequestT, ResponseT> callSettings, ClientContext clientContext) { callable = new WatchdogServerStreamingCallable<>(callable, clientContext.getStreamWatchdog()); callable = callable.withDefaultCallContext( clientContext .getDefaultCallContext() .withStreamIdleTimeout(callSettings.getIdleTimeout())); return callable; }
protected Builder(ClientContext clientContext) { if (clientContext == null) { this.executorProvider = InstantiatingExecutorProvider.newBuilder().build(); this.transportChannelProvider = null; this.credentialsProvider = NoCredentialsProvider.create(); this.headerProvider = new NoHeaderProvider(); this.internalHeaderProvider = new NoHeaderProvider(); this.clock = NanoClock.getDefaultClock(); this.endpoint = null; this.streamWatchdogProvider = InstantiatingWatchdogProvider.create(); this.streamWatchdogCheckInterval = Duration.ofSeconds(10); this.tracerFactory = NoopApiTracerFactory.getInstance(); } else { this.executorProvider = FixedExecutorProvider.create(clientContext.getExecutor()); this.transportChannelProvider = FixedTransportChannelProvider.create(clientContext.getTransportChannel()); this.credentialsProvider = FixedCredentialsProvider.create(clientContext.getCredentials()); this.headerProvider = FixedHeaderProvider.create(clientContext.getHeaders()); this.internalHeaderProvider = FixedHeaderProvider.create(clientContext.getInternalHeaders()); this.clock = clientContext.getClock(); this.endpoint = clientContext.getEndpoint(); this.streamWatchdogProvider = FixedWatchdogProvider.create(clientContext.getStreamWatchdog()); this.streamWatchdogCheckInterval = clientContext.getStreamWatchdogCheckInterval(); this.tracerFactory = clientContext.getTracerFactory(); } }
callable, streamingCallSettings.getRetryableCodes()); if (clientContext.getStreamWatchdog() != null) { callable = Callables.watched(callable, streamingCallSettings, clientContext);
callable, streamingCallSettings.getRetryableCodes()); if (clientContext.getStreamWatchdog() != null) { callable = Callables.watched(callable, streamingCallSettings, clientContext);