Class Reactive3TestUtils

java.lang.Object
org.apache.hc.core5.testing.reactive.Reactive3TestUtils

@Internal public class Reactive3TestUtils extends Object
  • Field Details

    • RANGE

      private static final byte[] RANGE
      The range from which to generate random data.
  • Constructor Details

    • Reactive3TestUtils

      public Reactive3TestUtils()
  • Method Details

    • produceStream

      public static io.reactivex.rxjava3.core.Flowable<ByteBuffer> produceStream(long length)
      Produces a deterministic stream of bytes, in randomly sized chunks of up to 128kB.
      Parameters:
      length - the number of bytes in the stream
      Returns:
      a reactive stream of bytes
    • produceStream

      public static io.reactivex.rxjava3.core.Flowable<ByteBuffer> produceStream(long length, AtomicReference<String> hash)
      Produces a deterministic stream of bytes, in randomly sized chunks of up to 128kB, while computing the hash of the random data.
      Parameters:
      length - the number of bytes in the stream
      hash - an output argument for the hash, set when the end of the stream is reached; if null, the hash will not be computed
      Returns:
      a reactive stream of bytes
    • produceStream

      public static io.reactivex.rxjava3.core.Flowable<ByteBuffer> produceStream(long length, int maximumBlockSize, AtomicReference<String> hash)
      Produces a deterministic stream of bytes, in randomly sized chunks, while computing the hash of the random data.
      Parameters:
      length - the number of bytes in the stream
      maximumBlockSize - the maximum size of any ByteBuffer in the stream
      hash - an output argument for the hash, set when the end of the stream is reached; if null, the hash will not be computed
      Returns:
      a reactive stream of bytes
    • getStreamHash

      public static String getStreamHash(long length)
      Computes the hash of the deterministic stream (as produced by produceStream(long)).
    • consumeStream

      public static io.reactivex.rxjava3.core.Single<Reactive3TestUtils.StreamDescription> consumeStream(org.reactivestreams.Publisher<ByteBuffer> publisher)
      Consumes the given stream and returns a data structure containing its length and digest.
    • newMessageDigest

      private static MessageDigest newMessageDigest()