Package com.linecorp.armeria.common
Class DeferredHttpResponse
- java.lang.Object
-
- com.linecorp.armeria.common.stream.DeferredStreamMessage<HttpObject>
-
- com.linecorp.armeria.common.DeferredHttpResponse
-
- All Implemented Interfaces:
HttpResponse
,Response
,StreamMessage<HttpObject>
,org.reactivestreams.Publisher<HttpObject>
@Deprecated public class DeferredHttpResponse extends DeferredStreamMessage<HttpObject> implements HttpResponse
Deprecated.AnHttpResponse
whose stream is published later by anotherHttpResponse
. It is used when anHttpResponse
will not be instantiated early.
-
-
Constructor Summary
Constructors Constructor Description DeferredHttpResponse()
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description CompletableFuture<Void>
completionFuture()
Returns aCompletableFuture
that completes when this stream is complete, either successfully or exceptionally, including cancellation and abortion.protected EventExecutor
defaultSubscriberExecutor()
Returns the defaultEventExecutor
which will be used when a user subscribes usingStreamMessage.subscribe(Subscriber)
orStreamMessage.subscribe(Subscriber, SubscriptionOption...)
.void
delegate(HttpResponse delegate)
Deprecated.Sets the delegateHttpResponse
which will publish the stream actually.CompletableFuture<List<T>>
drainAll()
Subscribes to thisStreamMessage
and retrieves all elements from it.CompletableFuture<List<T>>
drainAll(boolean withPooledObjects)
Subscribes to thisStreamMessage
and retrieves all elements from it.CompletableFuture<List<T>>
drainAll(SubscriptionOption... options)
Subscribes to thisStreamMessage
and retrieves all elements from it.CompletableFuture<List<T>>
drainAll(EventExecutor executor)
Subscribes to thisStreamMessage
and retrieves all elements from it.CompletableFuture<List<T>>
drainAll(EventExecutor executor, boolean withPooledObjects)
Subscribes to thisStreamMessage
and retrieves all elements from it.CompletableFuture<List<T>>
drainAll(EventExecutor executor, SubscriptionOption... options)
Subscribes to thisStreamMessage
and retrieves all elements from it.protected void
onRemoval(T obj)
Invoked after an element is removed from theStreamMessage
and beforeSubscriber.onNext(Object)
is invoked.void
subscribe(org.reactivestreams.Subscriber<? super T> subscriber)
Requests to start streaming data to the specifiedSubscriber
.void
subscribe(org.reactivestreams.Subscriber<? super T> subscriber, boolean withPooledObjects)
Requests to start streaming data to the specifiedSubscriber
.void
subscribe(org.reactivestreams.Subscriber<? super T> subscriber, SubscriptionOption... options)
Requests to start streaming data to the specifiedSubscriber
.void
subscribe(org.reactivestreams.Subscriber<? super T> subscriber, EventExecutor executor)
Requests to start streaming data to the specifiedSubscriber
.void
subscribe(org.reactivestreams.Subscriber<? super T> subscriber, EventExecutor executor, boolean withPooledObjects)
Requests to start streaming data, invoking the specifiedSubscriber
from the specifiedExecutor
.void
subscribe(org.reactivestreams.Subscriber<? super T> subscriber, EventExecutor executor, SubscriptionOption... options)
Requests to start streaming data to the specifiedSubscriber
.-
Methods inherited from class com.linecorp.armeria.common.stream.DeferredStreamMessage
abort, close, close, delegate, isEmpty, isOpen
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.linecorp.armeria.common.HttpResponse
aggregate, aggregate, aggregateWithPooledObjects, aggregateWithPooledObjects, closeFuture, completionFuture
-
-
-
-
Method Detail
-
delegate
public void delegate(HttpResponse delegate)
Deprecated.Sets the delegateHttpResponse
which will publish the stream actually.- Throws:
IllegalStateException
- if the delegate has been set already or ifDeferredStreamMessage.close()
orDeferredStreamMessage.close(Throwable)
was called already.
-
subscribe
public final void subscribe(org.reactivestreams.Subscriber<? super T> subscriber)
Description copied from interface:StreamMessage
Requests to start streaming data to the specifiedSubscriber
. If there is a problem subscribing,Subscriber.onError(Throwable)
will be invoked with one of the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.CancelledSubscriptionException
if this stream has been cancelled andSubscriptionOption.NOTIFY_CANCELLATION
is specified when subscribed.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
subscribe
in interfaceorg.reactivestreams.Publisher<T>
- Specified by:
subscribe
in interfaceStreamMessage<T>
-
subscribe
public final void subscribe(org.reactivestreams.Subscriber<? super T> subscriber, boolean withPooledObjects)
Description copied from interface:StreamMessage
Requests to start streaming data to the specifiedSubscriber
. If there is a problem subscribing,Subscriber.onError(Throwable)
will be invoked with one of the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.CancelledSubscriptionException
if this stream has been cancelled andSubscriptionOption.NOTIFY_CANCELLATION
is specified when subscribed.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
subscribe
in interfaceStreamMessage<T>
-
subscribe
public final void subscribe(org.reactivestreams.Subscriber<? super T> subscriber, SubscriptionOption... options)
Description copied from interface:StreamMessage
Requests to start streaming data to the specifiedSubscriber
. If there is a problem subscribing,Subscriber.onError(Throwable)
will be invoked with one of the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.CancelledSubscriptionException
if this stream has been cancelled andSubscriptionOption.NOTIFY_CANCELLATION
is specified when subscribed.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
subscribe
in interfaceStreamMessage<T>
options
-SubscriptionOption
s to subscribe with
-
subscribe
public final void subscribe(org.reactivestreams.Subscriber<? super T> subscriber, EventExecutor executor, boolean withPooledObjects)
Description copied from interface:StreamMessage
Requests to start streaming data, invoking the specifiedSubscriber
from the specifiedExecutor
. If there is a problem subscribing,Subscriber.onError(Throwable)
will be invoked with one of the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.CancelledSubscriptionException
if this stream has been cancelled andSubscriptionOption.NOTIFY_CANCELLATION
is specified when subscribed.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
subscribe
in interfaceStreamMessage<T>
executor
- the executor to subscribe
-
subscribe
public final void subscribe(org.reactivestreams.Subscriber<? super T> subscriber, EventExecutor executor)
Description copied from interface:StreamMessage
Requests to start streaming data to the specifiedSubscriber
. If there is a problem subscribing,Subscriber.onError(Throwable)
will be invoked with one of the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.CancelledSubscriptionException
if this stream has been cancelled andSubscriptionOption.NOTIFY_CANCELLATION
is specified when subscribed.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
subscribe
in interfaceStreamMessage<T>
executor
- the executor to subscribe
-
subscribe
public final void subscribe(org.reactivestreams.Subscriber<? super T> subscriber, EventExecutor executor, SubscriptionOption... options)
Description copied from interface:StreamMessage
Requests to start streaming data to the specifiedSubscriber
. If there is a problem subscribing,Subscriber.onError(Throwable)
will be invoked with one of the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.CancelledSubscriptionException
if this stream has been cancelled andSubscriptionOption.NOTIFY_CANCELLATION
is specified when subscribed.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
subscribe
in interfaceStreamMessage<T>
executor
- the executor to subscribeoptions
-SubscriptionOption
s to subscribe with
-
defaultSubscriberExecutor
protected EventExecutor defaultSubscriberExecutor()
Returns the defaultEventExecutor
which will be used when a user subscribes usingStreamMessage.subscribe(Subscriber)
orStreamMessage.subscribe(Subscriber, SubscriptionOption...)
.
-
drainAll
public final CompletableFuture<List<T>> drainAll()
Description copied from interface:StreamMessage
Subscribes to thisStreamMessage
and retrieves all elements from it. The returnedCompletableFuture
may be completed exceptionally with the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
drainAll
in interfaceStreamMessage<T>
- Returns:
- the
CompletableFuture
which will be completed with the list of the elements retrieved.
-
drainAll
public final CompletableFuture<List<T>> drainAll(boolean withPooledObjects)
Description copied from interface:StreamMessage
Subscribes to thisStreamMessage
and retrieves all elements from it. The returnedCompletableFuture
may be completed exceptionally with the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
drainAll
in interfaceStreamMessage<T>
- Returns:
- the
CompletableFuture
which will be completed with the list of the elements retrieved.
-
drainAll
public final CompletableFuture<List<T>> drainAll(SubscriptionOption... options)
Description copied from interface:StreamMessage
Subscribes to thisStreamMessage
and retrieves all elements from it. The returnedCompletableFuture
may be completed exceptionally with the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
drainAll
in interfaceStreamMessage<T>
- Parameters:
options
-SubscriptionOption
s to subscribe with. Note thatSubscriptionOption.NOTIFY_CANCELLATION
is ineffective because there's no cancelling while draining all elements.- Returns:
- the
CompletableFuture
which will be completed with the list of the elements retrieved.
-
drainAll
public final CompletableFuture<List<T>> drainAll(EventExecutor executor, boolean withPooledObjects)
Description copied from interface:StreamMessage
Subscribes to thisStreamMessage
and retrieves all elements from it. The returnedCompletableFuture
may be completed exceptionally with the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
drainAll
in interfaceStreamMessage<T>
- Parameters:
executor
- the executor to retrieve all elements- Returns:
- the
CompletableFuture
which will be completed with the list of the elements retrieved.
-
drainAll
public final CompletableFuture<List<T>> drainAll(EventExecutor executor)
Description copied from interface:StreamMessage
Subscribes to thisStreamMessage
and retrieves all elements from it. The returnedCompletableFuture
may be completed exceptionally with the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
drainAll
in interfaceStreamMessage<T>
- Parameters:
executor
- the executor to retrieve all elements- Returns:
- the
CompletableFuture
which will be completed with the list of the elements retrieved.
-
drainAll
public final CompletableFuture<List<T>> drainAll(EventExecutor executor, SubscriptionOption... options)
Description copied from interface:StreamMessage
Subscribes to thisStreamMessage
and retrieves all elements from it. The returnedCompletableFuture
may be completed exceptionally with the following exceptions:IllegalStateException
if otherSubscriber
subscribed to this stream already.AbortedStreamException
if this stream has been aborted.- Other exceptions that occurred due to an error while retrieving the elements.
- Specified by:
drainAll
in interfaceStreamMessage<T>
- Parameters:
executor
- the executor to retrieve all elementsoptions
-SubscriptionOption
s to subscribe with. Note thatSubscriptionOption.NOTIFY_CANCELLATION
is ineffective because there's no cancelling while draining all elements.- Returns:
- the
CompletableFuture
which will be completed with the list of the elements retrieved.
-
completionFuture
public final CompletableFuture<Void> completionFuture()
Description copied from interface:StreamMessage
Returns aCompletableFuture
that completes when this stream is complete, either successfully or exceptionally, including cancellation and abortion.A
StreamMessage
is complete (or 'fully consumed') when:- the
Subscriber
consumes all elements andSubscriber.onComplete()
is invoked, - an error occurred and
Subscriber.onError(Throwable)
is invoked, - the
Subscription
has been cancelled or StreamMessage.abort()
has been requested.
- Specified by:
completionFuture
in interfaceStreamMessage<T>
- the
-
onRemoval
protected void onRemoval(T obj)
Invoked after an element is removed from theStreamMessage
and beforeSubscriber.onNext(Object)
is invoked.- Parameters:
obj
- the removed element
-
-