Class Upstream


  • class Upstream
    extends java.lang.Object
    A one-use atomic reference to an upstream subscription.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.util.concurrent.Flow.Subscription NOOP_SUBSCRIPTION  
      private java.util.concurrent.Flow.Subscription subscription  
      private static java.lang.invoke.VarHandle SUBSCRIPTION  
    • Constructor Summary

      Constructors 
      Constructor Description
      Upstream()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void cancel()
      Cancels the upstream if set.
      void clear()
      Just loses the reference to upstream if cancellation it is not required.
      void request​(long n)
      Requests n items from upstream if set.
      boolean setOrCancel​(java.util.concurrent.Flow.Subscription incoming)
      Sets incoming subscription, cancels it if already set.
      • Methods inherited from class java.lang.Object

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

      • NOOP_SUBSCRIPTION

        public static final java.util.concurrent.Flow.Subscription NOOP_SUBSCRIPTION
      • SUBSCRIPTION

        private static final java.lang.invoke.VarHandle SUBSCRIPTION
      • subscription

        private volatile java.util.concurrent.Flow.Subscription subscription
    • Constructor Detail

      • Upstream

        public Upstream()
    • Method Detail

      • setOrCancel

        public boolean setOrCancel​(java.util.concurrent.Flow.Subscription incoming)
        Sets incoming subscription, cancels it if already set.
      • request

        public void request​(long n)
        Requests n items from upstream if set.
      • cancel

        public void cancel()
        Cancels the upstream if set.
      • clear

        public void clear()
        Just loses the reference to upstream if cancellation it is not required.