Class ThrottledInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public final class ThrottledInputStream
    extends CountingInputStream
    Provides bandwidth throttling on an InputStream as a filter input stream. The throttling examines the number of bytes read from the underlying InputStream, and sleeps for a time interval if the byte-transfer is found to exceed the specified maximum rate. Thus, while the read-rate might exceed the maximum for a short interval, the average tends towards the specified maximum, overall.

    To build an instance, call builder().

    Inspired by Apache HBase's class of the same name.

    Since:
    2.16.0
    See Also:
    ThrottledInputStream.Builder