public class ReservedStreamingHttpConnectionFilter extends java.lang.Object implements FilterableReservedStreamingHttpConnection
ReservedStreamingHttpConnectionFilter that delegates all methods to a different
ReservedStreamingHttpConnectionFilter.| Modifier | Constructor and Description |
|---|---|
protected |
ReservedStreamingHttpConnectionFilter(FilterableReservedStreamingHttpConnection delegate)
Create a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
Completable |
closeAsync()
Used to close/shutdown a resource.
|
Completable |
closeAsyncGracefully()
Used to close/shutdown a resource, similar to
AsyncCloseable.closeAsync(), but attempts to cleanup state before
abruptly closing. |
HttpConnectionContext |
connectionContext()
Get the
HttpConnectionContext. |
protected FilterableReservedStreamingHttpConnection |
delegate()
Get the
ReservedStreamingHttpConnection this method delegates to. |
HttpExecutionContext |
executionContext()
Get the
HttpExecutionContext used during construction of this object. |
StreamingHttpResponseFactory |
httpResponseFactory()
Get a
StreamingHttpResponseFactory. |
StreamingHttpRequest |
newRequest(HttpRequestMethod method,
java.lang.String requestTarget)
Create a new
HttpRequestFactory. |
Completable |
onClose()
Returns a
Completable that is notified once the ListenableAsyncCloseable was closed. |
Completable |
releaseAsync()
Releases this reserved
FilterableStreamingHttpConnection to be used for subsequent requests. |
Single<StreamingHttpResponse> |
request(HttpExecutionStrategy strategy,
StreamingHttpRequest request)
Send a
request using the specified strategy. |
protected Single<StreamingHttpResponse> |
request(StreamingHttpRequester delegate,
HttpExecutionStrategy strategy,
StreamingHttpRequest request)
Called when the filter needs to delegate the request using the provided
StreamingHttpRequester on
which to call StreamingHttpRequester.request(HttpExecutionStrategy, StreamingHttpRequest). |
java.lang.String |
toString() |
<T> Publisher<? extends T> |
transportEventStream(HttpEventKey<T> eventKey)
Returns a
Publisher that gives the current value of a transport event as well as subsequent changes to
the event value as long as the PublisherSource.Subscriber has expressed enough demand. |
protected ReservedStreamingHttpConnectionFilter(FilterableReservedStreamingHttpConnection delegate)
delegate - The FilterableReservedStreamingHttpConnection to delegate all calls topublic Completable releaseAsync()
FilterableReservedStreamingHttpConnectionFilterableStreamingHttpConnection to be used for subsequent requests.
This method must be idempotent, i.e. calling multiple times must not have side-effects.releaseAsync in interface FilterableReservedStreamingHttpConnectionCompletable that is notified on releaseAsync.public HttpConnectionContext connectionContext()
FilterableStreamingHttpConnectionHttpConnectionContext.connectionContext in interface FilterableStreamingHttpConnectionHttpConnectionContext.public <T> Publisher<? extends T> transportEventStream(HttpEventKey<T> eventKey)
FilterableStreamingHttpConnectionPublisher that gives the current value of a transport event as well as subsequent changes to
the event value as long as the PublisherSource.Subscriber has expressed enough demand.
This is designed for events produced by the transport, and consumed by filters interested in transport behavior which is not directly involved in the data path.
transportEventStream in interface FilterableStreamingHttpConnectionT - Type of the event value.eventKey - Name of the event to fetch.Publisher for the event values.public final Single<StreamingHttpResponse> request(HttpExecutionStrategy strategy, StreamingHttpRequest request)
StreamingHttpRequesterrequest using the specified strategy.request in interface StreamingHttpRequesterstrategy - HttpExecutionStrategy to use for executing the request.request - the request to send.public HttpExecutionContext executionContext()
StreamingHttpRequesterHttpExecutionContext used during construction of this object.
Note that the ExecutionContext.ioExecutor() will not necessarily be associated with a specific thread
unless that was how this object was built.
executionContext in interface StreamingHttpRequesterHttpExecutionContext used during construction of this object.public StreamingHttpResponseFactory httpResponseFactory()
StreamingHttpRequesterStreamingHttpResponseFactory.httpResponseFactory in interface StreamingHttpRequesterStreamingHttpResponseFactory.public Completable onClose()
ListenableAsyncCloseableCompletable that is notified once the ListenableAsyncCloseable was closed.onClose in interface ListenableAsyncCloseableCompletable that is notified on close.public Completable closeAsync()
AsyncCloseablecloseAsync in interface AsyncCloseableCompletableSource that is notified once the close is complete.public Completable closeAsyncGracefully()
AsyncCloseableAsyncCloseable.closeAsync(), but attempts to cleanup state before
abruptly closing. This provides a hint that implementations can use to stop accepting new work and finish in
flight work. This method is implemented on a "best effort" basis and may be equivalent to AsyncCloseable.closeAsync().
Note: Implementations may or may not apply a timeout for this operation to complete, if a caller does not
want to wait indefinitely, and are unsure if the implementation applies a timeout, it is advisable to apply a
timeout and force a call to AsyncCloseable.closeAsync().
closeAsyncGracefully in interface AsyncCloseableCompletable that is notified once the close is complete.public StreamingHttpRequest newRequest(HttpRequestMethod method, java.lang.String requestTarget)
StreamingHttpRequestFactoryHttpRequestFactory.newRequest in interface StreamingHttpRequestFactorymethod - The HttpRequestMethod.requestTarget - The request target.HttpRequestFactory.public java.lang.String toString()
toString in class java.lang.Objectprotected final FilterableReservedStreamingHttpConnection delegate()
ReservedStreamingHttpConnection this method delegates to.ReservedStreamingHttpConnection this method delegates to.protected Single<StreamingHttpResponse> request(StreamingHttpRequester delegate, HttpExecutionStrategy strategy, StreamingHttpRequest request)
StreamingHttpRequester on
which to call StreamingHttpRequester.request(HttpExecutionStrategy, StreamingHttpRequest).delegate - The StreamingHttpRequester to delegate requests to.strategy - The HttpExecutionStrategy to use for executing the request.request - The request to delegate.