- Type Parameters:
- T- the items type
public interface Tube<T>
A 
Tube is a general-purpose abstraction for creating Flow.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 with
 ZeroPublisher then choose a Tube.
- 
Method SummaryModifier and TypeMethodDescriptionbooleanCheck if the subscription has been cancelled.voidcomplete()Signal completion and that no more items will be sent.voidTerminally signal an error.longCheck the number of outstanding requests.Send an item.whenCancelled(Runnable action) Define an action when the subscription is cancelled.whenRequested(LongConsumer consumer) Define an action when items are being requested.whenTerminates(Runnable action) Define an action on termination (completion, error or cancellation), typically for cleanup purposes.
- 
Method Details- 
sendSend an item.- Parameters:
- item- the item
- Returns:
- this Tubeinstance
 
- 
failTerminally signal an error.- Parameters:
- err- the error
 
- 
completevoid complete()Signal completion and that no more items will be sent.
- 
cancelledboolean cancelled()Check if the subscription has been cancelled.- Returns:
- trueif the subscriber has cancelled its subscription,- falseotherwise
 
- 
outstandingRequestslong outstandingRequests()Check the number of outstanding requests.- Returns:
- the number of outstanding requests.
 
- 
whenCancelledDefine an action when the subscription is cancelled.- Parameters:
- action- the action
- Returns:
- this Tube
 
- 
whenTerminatesDefine an action on termination (completion, error or cancellation), typically for cleanup purposes.- Parameters:
- action- the action
- Returns:
- this Tube
 
- 
whenRequestedDefine an action when items are being requested.- Parameters:
- consumer- the action, consuming the number of items for this request
- Returns:
- this Tube
 
 
-