-
- Type Parameters:
T
- the items type
public interface Tube<T>
ATube
is a general-purpose abstraction for creatingFlow.Publisher
.Items, errors and completion signals can be sent using this interface. It is possible to be notified of requests, cancellations and termination.
A
Tube
can be shared between multiple threads, and sending items from concurrent threads is done serially as per reactive stream semantics.If in doubt about which abstraction to use for creating a
Flow.Publisher
withZeroPublisher
then choose aTube
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
cancelled()
Check if the subscription has been cancelled.void
complete()
Signal completion and that no more items will be sent.void
fail(java.lang.Throwable err)
Terminally signal an error.long
outstandingRequests()
Check the number of outstanding requests.Tube<T>
send(T item)
Send an item.Tube<T>
whenCancelled(java.lang.Runnable action)
Define an action when the subscription is cancelled.Tube<T>
whenRequested(java.util.function.LongConsumer consumer)
Define an action when items are being requested.Tube<T>
whenTerminates(java.lang.Runnable action)
Define an action on termination (completion, error or cancellation), typically for cleanup purposes.
-
-
-
Method Detail
-
fail
void fail(java.lang.Throwable err)
Terminally signal an error.- Parameters:
err
- the error
-
complete
void complete()
Signal completion and that no more items will be sent.
-
cancelled
boolean cancelled()
Check if the subscription has been cancelled.- Returns:
true
if the subscriber has cancelled its subscription,false
otherwise
-
outstandingRequests
long outstandingRequests()
Check the number of outstanding requests.- Returns:
- the number of outstanding requests.
-
whenCancelled
Tube<T> whenCancelled(java.lang.Runnable action)
Define an action when the subscription is cancelled.- Parameters:
action
- the action- Returns:
- this
Tube
-
whenTerminates
Tube<T> whenTerminates(java.lang.Runnable action)
Define an action on termination (completion, error or cancellation), typically for cleanup purposes.- Parameters:
action
- the action- Returns:
- this
Tube
-
-