Class OperatorScan.InitialProducer<R>

java.lang.Object
rx.internal.operators.OperatorScan.InitialProducer<R>
All Implemented Interfaces:
Observer<R>, Producer
Enclosing class:
OperatorScan<R,T>

static final class OperatorScan.InitialProducer<R> extends Object implements Producer, Observer<R>
  • Field Details

    • child

      final Subscriber<? super R> child
    • queue

      final Queue<Object> queue
    • emitting

      boolean emitting
    • missed

      boolean missed
      Missed a terminal event.
    • missedRequested

      long missedRequested
      Missed a request.
    • requested

      final AtomicLong requested
      The current requested amount.
    • producer

      volatile Producer producer
      The current producer.
    • done

      volatile boolean done
    • error

      Throwable error
  • Constructor Details

    • InitialProducer

      public InitialProducer(R initialValue, Subscriber<? super R> child)
  • Method Details

    • onNext

      public void onNext(R t)
      Description copied from interface: Observer
      Provides the Observer with a new item to observe.

      The Observable may call this method 0 or more times.

      The Observable will not call this method again after it calls either Observer.onCompleted() or Observer.onError(java.lang.Throwable).

      Specified by:
      onNext in interface Observer<R>
      Parameters:
      t - the item emitted by the Observable
    • checkTerminated

      boolean checkTerminated(boolean d, boolean empty, Subscriber<? super R> child)
    • onError

      public void onError(Throwable e)
      Description copied from interface: Observer
      Notifies the Observer that the Observable has experienced an error condition.

      If the Observable calls this method, it will not thereafter call Observer.onNext(T) or Observer.onCompleted().

      Specified by:
      onError in interface Observer<R>
      Parameters:
      e - the exception encountered by the Observable
    • onCompleted

      public void onCompleted()
      Description copied from interface: Observer
      Notifies the Observer that the Observable has finished sending push-based notifications.

      The Observable will not call this method if it calls Observer.onError(java.lang.Throwable).

      Specified by:
      onCompleted in interface Observer<R>
    • request

      public void request(long n)
      Description copied from interface: Producer
      Request a certain maximum number of items from this Producer. This is a way of requesting backpressure. To disable backpressure, pass Long.MAX_VALUE to this method.

      Requests are additive but if a sequence of requests totals more than Long.MAX_VALUE then Long.MAX_VALUE requests will be actioned and the extras may be ignored. Arriving at Long.MAX_VALUE by addition of requests cannot be assumed to disable backpressure. For example, the code below may result in Long.MAX_VALUE requests being actioned only.

       request(100);
       request(Long.MAX_VALUE-1);
       
      Specified by:
      request in interface Producer
      Parameters:
      n - the maximum number of items you want this Producer to produce, or Long.MAX_VALUE if you want the Producer to produce items at its own pace
    • setProducer

      public void setProducer(Producer p)
    • emit

      void emit()
    • emitLoop

      void emitLoop()