Class SchedulingURLBuffer

  • All Implemented Interfaces:
    URLBuffer, com.github.benmanes.caffeine.cache.RemovalListener<String,​Object[]>

    public class SchedulingURLBuffer
    extends AbstractURLBuffer
    implements com.github.benmanes.caffeine.cache.RemovalListener<String,​Object[]>
    Checks how long the last N URLs took to work out whether a queue should release a URL.
    • Constructor Detail

      • SchedulingURLBuffer

        public SchedulingURLBuffer()
    • Method Detail

      • next

        public org.apache.storm.tuple.Values next()
        Retrieves the next available URL, guarantees that the URLs are always perfectly shuffled
        Specified by:
        next in interface URLBuffer
        Returns:
        null if no entries are available
      • acked

        public void acked​(String url)
        Description copied from interface: URLBuffer
        Notify the buffer that a URL has been successfully processed used e.g to compute an ideal delay for a host queue
        Specified by:
        acked in interface URLBuffer
      • onRemoval

        public void onRemoval​(@Nullable
                              @Nullable String key,
                              Object @Nullable [] value,
                              @NotNull
                              @NotNull com.github.benmanes.caffeine.cache.RemovalCause cause)
        Specified by:
        onRemoval in interface com.github.benmanes.caffeine.cache.RemovalListener<String,​Object[]>