Class OrElse<T>

  • All Implemented Interfaces:
    Graph<UniformFanInShape<T,​T>,​NotUsed>

    public final class OrElse<T>
    extends GraphStage<UniformFanInShape<T,​T>>
    Takes two streams and passes the first through, the secondary stream is only passed through if the primary stream completes without passing any elements through. When the first element is passed through from the primary the secondary is cancelled. Both incoming streams are materialized when the operator is materialized.

    On errors the operator is failed regardless of source of the error.

    '''Emits when''' element is available from primary stream or the primary stream closed without emitting any elements and an element is available from the secondary stream

    '''Backpressures when''' downstream backpressures

    '''Completes when''' the primary stream completes after emitting at least one element, when the primary stream completes without emitting and the secondary stream already has completed or when the secondary stream completes

    '''Cancels when''' downstream cancels