Interface EventStreamResponseHandler<ResponseT,EventT>
- Type Parameters:
ResponseT
- the POJO response typeEventT
- the event type
- All Known Subinterfaces:
InvokeAgentResponseHandler
,InvokeEndpointWithResponseStreamResponseHandler
,InvokeModelWithResponseStreamResponseHandler
,InvokeWithResponseStreamResponseHandler
,SelectObjectContentResponseHandler
,StartCallAnalyticsStreamTranscriptionResponseHandler
,StartConversationResponseHandler
,StartLiveTailResponseHandler
,StartMedicalStreamTranscriptionResponseHandler
,StartStreamTranscriptionResponseHandler
,SubscribeToShardResponseHandler
- All Known Implementing Classes:
EventStreamResponseHandlerFromBuilder
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
Base builder for sub-interfaces ofEventStreamResponseHandler
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
complete()
Called when all data has been successfully published to theSubscriber
.void
exceptionOccurred
(Throwable throwable) Called when an exception occurs while establishing the connection or streaming the response.void
onEventStream
(SdkPublisher<EventT> publisher) Called when events are ready to be streamed.void
responseReceived
(ResponseT response) Called when the initial response has been received and the POJO response has been unmarshalled.
-
Method Details
-
responseReceived
Called when the initial response has been received and the POJO response has been unmarshalled. This is guaranteed to be called beforeonEventStream(SdkPublisher)
.In the event of a retryable error, this callback may be called multiple times. It also may never be invoked if the request never succeeds.
- Parameters:
response
- Unmarshalled POJO containing metadata about the streamed data.
-
onEventStream
Called when events are ready to be streamed. Implementations must subscribe to thePublisher
and request data via aSubscription
as they can handle it.If at any time the subscriber wishes to stop receiving data, it may call
Subscription.cancel()
. This will NOT be treated as a failure of the response and the response will be completed normally.This callback may never be called if the response has no content or if an error occurs.
In the event of a retryable error, this callback may be called multiple times with different Publishers. If this method is called more than once, implementation must either reset any state to prepare for another stream of data or must throw an exception indicating they cannot reset. If any exception is thrown then no automatic retry is performed.
-
exceptionOccurred
Called when an exception occurs while establishing the connection or streaming the response. Implementations should free up any resources in this method. This method may be called multiple times during the lifecycle of a request if automatic retries are enabled.- Parameters:
throwable
- Exception that occurred.
-
complete
void complete()Called when all data has been successfully published to theSubscriber
. This will only be called once during the lifecycle of the request. Implementors should free up any resources they have opened.
-