Enum EmptySubscription

    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      INSTANCE
      A singleton, stateless instance.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private EmptySubscription()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void cancel()  
      void clear()
      Removes all enqueued items from this queue.
      static void complete​(org.reactivestreams.Subscriber<?> s)
      Sets the empty subscription instance on the subscriber and then calls onComplete.
      static void error​(java.lang.Throwable e, org.reactivestreams.Subscriber<?> s)
      Sets the empty subscription instance on the subscriber and then calls onError with the supplied error.
      boolean isEmpty()
      Returns true if the queue is empty.
      boolean offer​(java.lang.Object value)
      Atomically enqueue a single value.
      boolean offer​(java.lang.Object v1, java.lang.Object v2)
      Atomically enqueue two values.
      @Nullable java.lang.Object poll()
      Tries to dequeue a value (non-null) or returns null if the queue is empty.
      void request​(long n)  
      int requestFusion​(int mode)
      Request a fusion mode from the upstream.
      java.lang.String toString()  
      static EmptySubscription valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static EmptySubscription[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • INSTANCE

        public static final EmptySubscription INSTANCE
        A singleton, stateless instance.
    • Constructor Detail

      • EmptySubscription

        private EmptySubscription()
    • Method Detail

      • values

        public static EmptySubscription[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (EmptySubscription c : EmptySubscription.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static EmptySubscription valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • request

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

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Enum<EmptySubscription>
      • error

        public static void error​(java.lang.Throwable e,
                                 org.reactivestreams.Subscriber<?> s)
        Sets the empty subscription instance on the subscriber and then calls onError with the supplied error.

        Make sure this is only called if the subscriber hasn't received a subscription already (there is no way of telling this).

        Parameters:
        e - the error to deliver to the subscriber
        s - the target subscriber
      • complete

        public static void complete​(org.reactivestreams.Subscriber<?> s)
        Sets the empty subscription instance on the subscriber and then calls onComplete.

        Make sure this is only called if the subscriber hasn't received a subscription already (there is no way of telling this).

        Parameters:
        s - the target subscriber
      • poll

        @Nullable
        public @Nullable java.lang.Object poll()
        Description copied from interface: SimpleQueue
        Tries to dequeue a value (non-null) or returns null if the queue is empty.

        If the producer uses SimpleQueue.offer(Object, Object) and when polling in pairs, if the first poll() returns a non-null item, the second poll() is guaranteed to return a non-null item as well.

        Specified by:
        poll in interface SimpleQueue<java.lang.Object>
        Returns:
        the item or null to indicate an empty queue
      • isEmpty

        public boolean isEmpty()
        Description copied from interface: SimpleQueue
        Returns true if the queue is empty.

        Note however that due to potential fused functions in SimpleQueue.poll() it is possible this method returns false but then poll() returns null because the fused function swallowed the available item(s).

        Specified by:
        isEmpty in interface SimpleQueue<java.lang.Object>
        Returns:
        true if the queue is empty
      • clear

        public void clear()
        Description copied from interface: SimpleQueue
        Removes all enqueued items from this queue.
        Specified by:
        clear in interface SimpleQueue<java.lang.Object>
      • offer

        public boolean offer​(java.lang.Object value)
        Description copied from interface: SimpleQueue
        Atomically enqueue a single value.
        Specified by:
        offer in interface SimpleQueue<java.lang.Object>
        Parameters:
        value - the value to enqueue, not null
        Returns:
        true if successful, false if the value was not enqueued likely due to reaching the queue capacity)
      • offer

        public boolean offer​(java.lang.Object v1,
                             java.lang.Object v2)
        Description copied from interface: SimpleQueue
        Atomically enqueue two values.
        Specified by:
        offer in interface SimpleQueue<java.lang.Object>
        Parameters:
        v1 - the first value to enqueue, not null
        v2 - the second value to enqueue, not null
        Returns:
        true if successful, false if the value was not enqueued likely due to reaching the queue capacity)