Class BufferItemMultiEmitter<T>

  • All Implemented Interfaces:
    MultiEmitter<T>, org.reactivestreams.Subscription

    public class BufferItemMultiEmitter<T>
    extends java.lang.Object
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void cancel()  
      void complete()
      Emits a completion event downstream indicating that no more item will be sent.
      void completion()  
      MultiEmitter<T> emit​(T t)
      Emits an item event downstream.
      void fail​(java.lang.Throwable failure)
      Emits a failure event downstream with the given exception.
      void failed​(java.lang.Throwable failure)  
      boolean isCancelled()  
      MultiEmitter<T> onTermination​(java.lang.Runnable onTermination)
      Attaches a @{code termination} event handler invoked when the downstream Subscription is cancelled, or when the emitter has emitted either a completion or failure event.
      void request​(long n)  
      long requested()  
      MultiEmitter<T> serialize()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • requested

        protected final java.util.concurrent.atomic.AtomicLong requested
    • Method Detail

      • emit

        public MultiEmitter<T> emit​(T t)
        Description copied from interface: MultiEmitter
        Emits an item event downstream.

        Calling this method after a failure or a completion events has no effect.

        Parameters:
        t - the item, must not be null
        Returns:
        this emitter, so firing item events can be chained.
      • failed

        public void failed​(java.lang.Throwable failure)
      • completion

        public void completion()
      • requested

        public long requested()
        Specified by:
        requested in interface MultiEmitter<T>
        Returns:
        the current outstanding request amount.
      • complete

        public void complete()
        Description copied from interface: MultiEmitter
        Emits a completion event downstream indicating that no more item will be sent.

        Calling this method multiple times or after the MultiEmitter.fail(Throwable) method has no effect.

        Specified by:
        complete in interface MultiEmitter<T>
      • isCancelled

        public boolean isCancelled()
        Specified by:
        isCancelled in interface MultiEmitter<T>
        Returns:
        true if the downstream cancelled the stream or the emitter was terminated (with a completion or failure events).
      • fail

        public final void fail​(java.lang.Throwable failure)
        Description copied from interface: MultiEmitter
        Emits a failure event downstream with the given exception.

        Calling this method multiple times or after the MultiEmitter.complete() method has no effect.

        Specified by:
        fail in interface MultiEmitter<T>
        Parameters:
        failure - the exception, must not be null
      • cancel

        public final void cancel()
        Specified by:
        cancel in interface org.reactivestreams.Subscription
      • request

        public final void request​(long n)
        Specified by:
        request in interface org.reactivestreams.Subscription
      • onTermination

        public MultiEmitter<T> onTermination​(java.lang.Runnable onTermination)
        Description copied from interface: MultiEmitter
        Attaches a @{code termination} event handler invoked when the downstream Subscription is cancelled, or when the emitter has emitted either a completion or failure event.

        This method allows cleanup resources once the emitter can be disposed (has reached a terminal state).

        If the registration of the onTermination callback is done after the termination, it invokes the callback immediately.

        Specified by:
        onTermination in interface MultiEmitter<T>
        Parameters:
        onTermination - the action to run on termination, must not be null
        Returns:
        this emitter