Class SimpleStreamResumptionStrategy<RequestT,ResponseT> (2.39.0)

public final class SimpleStreamResumptionStrategy<RequestT,ResponseT> implements StreamResumptionStrategy<RequestT,ResponseT>

Simplest implementation of a StreamResumptionStrategy which returns the initial request for unstarted streams.

Inheritance

java.lang.Object > SimpleStreamResumptionStrategy<RequestT,ResponseT>

Implements

StreamResumptionStrategy<RequestT,ResponseT>

Type Parameters

NameDescription
RequestT
ResponseT

Constructors

SimpleStreamResumptionStrategy()

public SimpleStreamResumptionStrategy()

Methods

canResume()

public boolean canResume()

If a resume request can be created.

Returns
TypeDescription
boolean

createNew()

public StreamResumptionStrategy<RequestT,ResponseT> createNew()

Creates a new instance of this StreamResumptionStrategy without accumulated state

Returns
TypeDescription
StreamResumptionStrategy<RequestT,ResponseT>

getResumeRequest(RequestT originalRequest)

public RequestT getResumeRequest(RequestT originalRequest)

Called when a stream needs to be restarted, the implementation should generate a request that will yield a new stream whose first response would come right after the last response received by processResponse.

Parameter
NameDescription
originalRequestRequestT
Returns
TypeDescription
RequestT

processResponse(ResponseT response)

public ResponseT processResponse(ResponseT response)

Called by the ServerStreamingAttemptCallable when a response has been successfully received. This method accomplishes two goals:

  1. It allows the strategy implementation to update its internal state so that it can compose the resume request
  2. It allows the strategy to alter the incoming responses to adjust for after resume. For example, if the responses are numbered sequentially from the start of the stream, upon resume, the strategy could rewrite the messages to continue the sequence from where it left off. Please note that all messages (even for the first attempt) will be passed through this method.
Parameter
NameDescription
responseResponseT
Returns
TypeDescription
ResponseT