ResponseT
- the POJO response typeEventT
- the event typepublic interface EventStreamResponseHandler<ResponseT,EventT>
Modifier and Type | Interface and Description |
---|---|
static interface |
EventStreamResponseHandler.Builder<ResponseT,EventT,SubBuilderT>
Base builder for sub-interfaces of
EventStreamResponseHandler . |
Modifier and Type | Method and Description |
---|---|
void |
complete()
Called when all data has been successfully published to the
Subscriber . |
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.
|
void responseReceived(ResponseT response)
onEventStream(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.
response
- Unmarshalled POJO containing metadata about the streamed data.void onEventStream(SdkPublisher<EventT> publisher)
Publisher
and request data via
a Subscription
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.
void exceptionOccurred(Throwable throwable)
throwable
- Exception that occurred.void complete()
Subscriber
. This will
only be called once during the lifecycle of the request. Implementors should free up any resources they have
opened.Copyright © 2020. All rights reserved.