Class CQueuePerl

java.lang.Object
io.perl.api.impl.CQueuePerl
All Implemented Interfaces:
GetPerlChannel, Perl, RunBenchmark

public final class CQueuePerl extends Object implements Perl
Class for Concurrent Queue based PerL.
  • Constructor Details

    • CQueuePerl

      public CQueuePerl(@NotNull @NotNull PerlConfig perlConfig, PeriodicRecorder periodicRecorder, int reportingIntervalMS, Time time, ExecutorService executor)
      Constructor CQueuePerl initialize all values.
      Parameters:
      perlConfig - NotNull PerlConfig
      periodicRecorder - PeriodicRecorder
      reportingIntervalMS - int
      time - Time
      executor - ExecutorService
  • Method Details

    • getPerlChannel

      public PerlChannel getPerlChannel()
      Get Perl channel.
      Specified by:
      getPerlChannel in interface GetPerlChannel
      Returns:
      PerlChannel Interface
    • run

      public CompletableFuture<Void> run(long secondsToRun, long recordsCount)
      Run the CQ Perl.
      Specified by:
      run in interface RunBenchmark
      Parameters:
      secondsToRun - Number of seconds to Run
      recordsCount - If secondsToRun is 0, then this indicates the total number of records to benchmark or read/write. If secondsToRun is higher than 0, then this parameter is ignored.
      Returns:
      CompletableFuture retFuture.
    • stop

      public void stop()
      Stop the CQ Perl.
      Specified by:
      stop in interface Perl