Class Reactive3TestUtils


  • @Internal
    public class Reactive3TestUtils
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static byte[] RANGE
      The range from which to generate random data.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static io.reactivex.rxjava3.core.Single<Reactive3TestUtils.StreamDescription> consumeStream​(org.reactivestreams.Publisher<java.nio.ByteBuffer> publisher)
      Consumes the given stream and returns a data structure containing its length and digest.
      static java.lang.String getStreamHash​(long length)
      Computes the hash of the deterministic stream (as produced by produceStream(long)).
      private static java.security.MessageDigest newMessageDigest()  
      static io.reactivex.rxjava3.core.Flowable<java.nio.ByteBuffer> produceStream​(long length)
      Produces a deterministic stream of bytes, in randomly sized chunks of up to 128kB.
      static io.reactivex.rxjava3.core.Flowable<java.nio.ByteBuffer> produceStream​(long length, int maximumBlockSize, java.util.concurrent.atomic.AtomicReference<java.lang.String> hash)
      Produces a deterministic stream of bytes, in randomly sized chunks, while computing the hash of the random data.
      static io.reactivex.rxjava3.core.Flowable<java.nio.ByteBuffer> produceStream​(long length, java.util.concurrent.atomic.AtomicReference<java.lang.String> hash)
      Produces a deterministic stream of bytes, in randomly sized chunks of up to 128kB, while computing the hash of the random data.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • RANGE

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

      • Reactive3TestUtils

        public Reactive3TestUtils()
    • Method Detail

      • produceStream

        public static io.reactivex.rxjava3.core.Flowable<java.nio.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<java.nio.ByteBuffer> produceStream​(long length,
                                                                                            java.util.concurrent.atomic.AtomicReference<java.lang.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<java.nio.ByteBuffer> produceStream​(long length,
                                                                                            int maximumBlockSize,
                                                                                            java.util.concurrent.atomic.AtomicReference<java.lang.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 java.lang.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<java.nio.ByteBuffer> publisher)
        Consumes the given stream and returns a data structure containing its length and digest.
      • newMessageDigest

        private static java.security.MessageDigest newMessageDigest()