Class ServerStreamingCallSettings<RequestT,ResponseT>
ServerStreamingCallable.
This class includes settings that are applicable to all server streaming calls, which currently just includes retries and watchdog timers.
The watchdog timer is configured via idleTimeout and waitTimeout. The watchdog
will terminate any stream that has not has seen any demand (via StreamController.request(int)) in the configured interval or has not seen a message from the
server in waitTimeout. To turn off idle checks, set the interval to Duration.ZERO.
Retry configuration allows for the stream to be restarted and resumed. It is composed of 3 parts: the retryable codes, the retry settings and the stream resumption strategy. The retryable codes indicate which codes cause a retry to occur, the retry settings configure the retry logic when the retry needs to happen, and the stream resumption strategy composes the request to resume the stream. To turn off retries, set the retryable codes to the empty set.
The retry settings have slightly different semantics when compared to unary RPCs:
- retry delays are reset to the initial value as soon as a response is received.
- RPC timeouts are reset to the initial value as soon as a response is received.
- RPC timeouts apply to the time interval between caller demanding more responses via
StreamController.request(int)and theResponseObserverreceiving the message. - RPC timeouts are best effort and are checked once every
StubSettings.getStreamWatchdogCheckInterval(). - Attempt counts are reset as soon as a response is received. This means that max attempts is the maximum number of failures in a row.
- totalTimeout still applies to the entire stream.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class -
Method Summary
Modifier and TypeMethodDescriptionorg.threeten.bp.DurationSee the class documentation ofServerStreamingCallSettingsfor a description of what theidleTimeoutdoes.See the class documentation ofServerStreamingCallSettingsandStreamResumptionStrategyfor a description of what the StreamResumptionStrategy does.See the class documentation ofServerStreamingCallSettingsfor a description of what retryableCodes do.See the class documentation ofServerStreamingCallSettingsfor a description of what retrySettings do.org.threeten.bp.DurationSee the class documentation ofServerStreamingCallSettingsfor a description of what thewaitTimeoutdoes.static <RequestT,ResponseT>
ServerStreamingCallSettings.Builder<RequestT,ResponseT> toString()
-
Method Details
-
getRetryableCodes
See the class documentation ofServerStreamingCallSettingsfor a description of what retryableCodes do. -
getRetrySettings
See the class documentation ofServerStreamingCallSettingsfor a description of what retrySettings do. -
getResumptionStrategy
See the class documentation ofServerStreamingCallSettingsandStreamResumptionStrategyfor a description of what the StreamResumptionStrategy does. -
getIdleTimeout
See the class documentation ofServerStreamingCallSettingsfor a description of what theidleTimeoutdoes. -
getWaitTimeout
See the class documentation ofServerStreamingCallSettingsfor a description of what thewaitTimeoutdoes. -
toBuilder
- Overrides:
toBuilderin classStreamingCallSettings<RequestT,ResponseT>
-
newBuilder
public static <RequestT,ResponseT> ServerStreamingCallSettings.Builder<RequestT,ResponseT> newBuilder() -
toString
-