Class WatermarkRequestStrategy

  • All Implemented Interfaces:
    RequestStrategy, java.io.Serializable, scala.Equals, scala.Product, scala.Serializable

    public final class WatermarkRequestStrategy
    extends java.lang.Object
    implements RequestStrategy, scala.Product, scala.Serializable
    See Also:
    Serialized Form
    • Constructor Detail

      • WatermarkRequestStrategy

        public WatermarkRequestStrategy​(int highWatermark,
                                        int lowWatermark)
      • WatermarkRequestStrategy

        public WatermarkRequestStrategy​(int highWatermark)
        Create WatermarkRequestStrategy with lowWatermark as half of the specified highWatermark.
        Parameters:
        highWatermark - (undocumented)
    • Method Detail

      • apply

        public static WatermarkRequestStrategy apply​(int highWatermark,
                                                     int lowWatermark)
        Requests up to the highWatermark when the remainingRequested is below the lowWatermark. This a good strategy when the actor performs work itself.
        Parameters:
        highWatermark - (undocumented)
        lowWatermark - (undocumented)
        Returns:
        (undocumented)
      • unapply

        public static scala.Option<scala.Tuple2<java.lang.Object,​java.lang.Object>> unapply​(WatermarkRequestStrategy x$0)
      • highWatermark

        public int highWatermark()
      • lowWatermark

        public int lowWatermark()
      • requestDemand

        public int requestDemand​(int remainingRequested)
        Description copied from interface: RequestStrategy
        Invoked by the ActorSubscriber after each incoming message to determine how many more elements to request from the stream.

        Specified by:
        requestDemand in interface RequestStrategy
        Parameters:
        remainingRequested - current remaining number of elements that have been requested from upstream but not received yet
        Returns:
        demand of more elements from the stream, returning 0 means that no more elements will be requested for now
      • copy$default$1

        public int copy$default$1()
      • copy$default$2

        public int copy$default$2()
      • productPrefix

        public java.lang.String productPrefix()
        Specified by:
        productPrefix in interface scala.Product
      • productArity

        public int productArity()
        Specified by:
        productArity in interface scala.Product
      • productElement

        public java.lang.Object productElement​(int x$1)
        Specified by:
        productElement in interface scala.Product
      • productIterator

        public scala.collection.Iterator<java.lang.Object> productIterator()
        Specified by:
        productIterator in interface scala.Product
      • canEqual

        public boolean canEqual​(java.lang.Object x$1)
        Specified by:
        canEqual in interface scala.Equals
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object x$1)
        Specified by:
        equals in interface scala.Equals
        Overrides:
        equals in class java.lang.Object