public ThrottledOnePublisherToThreeProcessorPipelineLatencyTest()
        //: base(TestName, ITERATIONS)
        {
            InitHistogram();

            stepOneSequenceBarrier = ringBuffer.NewBarrier();
            stepOneFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.One, _histogram, TicksToNanos);
            stepOneBatchProcessor  = new BatchEventProcessor <ValueEvent>(ringBuffer, stepOneSequenceBarrier, stepOneFunctionHandler);

            stepTwoSequenceBarrier = ringBuffer.NewBarrier(stepOneBatchProcessor.Sequence);
            stepTwoFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.Two, _histogram, TicksToNanos);
            stepTwoBatchProcessor  = new BatchEventProcessor <ValueEvent>(ringBuffer, stepTwoSequenceBarrier, stepTwoFunctionHandler);

            stepThreeSequenceBarrier = ringBuffer.NewBarrier(stepTwoBatchProcessor.Sequence);
            stepThreeFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.Three, _histogram, TicksToNanos);
            stepThreeBatchProcessor  = new BatchEventProcessor <ValueEvent>(ringBuffer, stepThreeSequenceBarrier, stepThreeFunctionHandler);

            ringBuffer.AddGatingSequences(stepThreeBatchProcessor.Sequence);
        }
        public ThrottledOnePublisherToThreeProcessorPipelineLatencyTest()
        //: base(TestName, ITERATIONS)
        {
            InitHistogram();

            stepOneSequenceBarrier = ringBuffer.NewBarrier();
            stepOneFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.One, _histogram, TicksToNanos);
            stepOneBatchProcessor = new BatchEventProcessor<ValueEvent>(ringBuffer, stepOneSequenceBarrier, stepOneFunctionHandler);

            stepTwoSequenceBarrier = ringBuffer.NewBarrier(stepOneBatchProcessor.Sequence);
            stepTwoFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.Two, _histogram, TicksToNanos);
            stepTwoBatchProcessor = new BatchEventProcessor<ValueEvent>(ringBuffer, stepTwoSequenceBarrier, stepTwoFunctionHandler);

            stepThreeSequenceBarrier = ringBuffer.NewBarrier(stepTwoBatchProcessor.Sequence);
            stepThreeFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.Three, _histogram, TicksToNanos);
            stepThreeBatchProcessor = new BatchEventProcessor<ValueEvent>(ringBuffer, stepThreeSequenceBarrier, stepThreeFunctionHandler);

            ringBuffer.AddGatingSequences(stepThreeBatchProcessor.Sequence);
        }