// Path: berserker-commons/src/main/java/io/smartcat/berserker/api/RateGenerator.java
// public interface RateGenerator {
// 
//     /**
//      * Returns rate per second as a function of time.
//      *
//      * @param time Relative time in nanoseconds from starting load generator.
//      * @return Rate per second as a function of time.
//      */
//     double getRate(long time);
// }


import io.smartcat.berserker.api.RateGenerator;
package io.smartcat.berserker.rategenerator;


/**
 * Rate generator that multiplies rates of two {@link RateGenerator}s.
 */
public class MultiplicationRateGenerator implements RateGenerator {

    private final RateGenerator factor1;
// Path: berserker-commons/src/main/java/io/smartcat/berserker/api/RateGenerator.java
// public interface RateGenerator {
// 
//     /**
//      * Returns rate per second as a function of time.
//      *
//      * @param time Relative time in nanoseconds from starting load generator.
//      * @return Rate per second as a function of time.
//      */
//     double getRate(long time);
// }


// Path: berserker-core/src/main/java/io/smartcat/berserker/rategenerator/MultiplicationRateGenerator.java
import io.smartcat.berserker.api.RateGenerator;

package io.smartcat.berserker.rategenerator;


/**
 * Rate generator that multiplies rates of two {@link RateGenerator}s.
 */
public class MultiplicationRateGenerator implements RateGenerator {

    private final RateGenerator factor1;
    private final RateGenerator factor2;