gitextract_mzd229g4/ ├── .editorconfig ├── .githooks/ │ └── pre-commit ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── workflows/ │ ├── asciidoc-build-only.yml │ ├── asciidoc.yml │ ├── codeql-analysis.yml │ ├── gradle-build.yml │ ├── gradle-wrapper-validation.yml │ ├── jcstress-manual.yml │ └── jcstress-quick.yml ├── .gitignore ├── .lgtm.yml ├── CHANGELOG.adoc ├── LICENCE.txt ├── README.adoc ├── build.gradle ├── config/ │ └── checkstyle/ │ ├── checkstyle.xml │ └── suppress.xml ├── gradle/ │ ├── asciidoc.gradle │ ├── jcstress.gradle │ ├── jmh.gradle │ ├── maven.gradle │ ├── perf.gradle │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src/ ├── docs/ │ └── asciidoc/ │ └── en/ │ ├── changelog.adoc │ ├── developer-guide/ │ │ ├── 10_getting_and_building.adoc │ │ ├── 20_performance_tests.adoc │ │ ├── 25_jsctress_tests.adoc │ │ ├── 30_publishing_release.adoc │ │ ├── 90_tips.adoc │ │ └── index.adoc │ ├── disruptor.adoc │ ├── index.adoc │ └── user-guide/ │ ├── 10_using_the_disruptor.adoc │ ├── 20_design_and_implementation.adoc │ ├── 30_known_issues.adoc │ ├── 40_batch_rewind_use_case.adoc │ └── index.adoc ├── examples/ │ └── java/ │ └── com/ │ └── lmax/ │ └── disruptor/ │ └── examples/ │ ├── DynamicallyAddHandler.java │ ├── EarlyReleaseHandler.java │ ├── HandleExceptionOnTranslate.java │ ├── KeyedBatching.java │ ├── MultiProducerWithTranslator.java │ ├── NamedEventHandler.java │ ├── Pipeliner.java │ ├── PullWithBatchedPoller.java │ ├── PullWithPoller.java │ ├── SequentialThreeConsumers.java │ ├── ShutdownOnError.java │ ├── ThreeToOneDisruptor.java │ ├── WaitForProcessing.java │ ├── WaitForShutdown.java │ ├── longevent/ │ │ ├── LongEvent.java │ │ ├── LongEventFactory.java │ │ ├── LongEventHandler.java │ │ ├── LongEventProducer.java │ │ ├── LongEventProducerWithTranslator.java │ │ ├── lambdas/ │ │ │ └── LongEventMain.java │ │ ├── legacy/ │ │ │ ├── LongEventMain.java │ │ │ └── LongEventProducer.java │ │ └── methodrefs/ │ │ └── LongEventMain.java │ ├── objectevent/ │ │ ├── ClearingEventHandler.java │ │ ├── Main.java │ │ ├── ObjectEvent.java │ │ └── ProcessingEventHandler.java │ └── support/ │ ├── LongEvent.java │ └── StubEvent.java ├── jcstress/ │ └── java/ │ └── com/ │ └── lmax/ │ └── disruptor/ │ ├── LoggerInitializationStress.java │ ├── MultiProducerSequencerUnsafeStress.java │ ├── MultiProducerSequencerVarHandleStress.java │ ├── SequenceStressUnsafe.java │ ├── SequenceStressVarHandle.java │ └── SequenceStressVarHandleBarrier.java ├── jmh/ │ └── java/ │ └── com/ │ └── lmax/ │ └── disruptor/ │ ├── ArrayAccessBenchmark.java │ ├── BlockingQueueBenchmark.java │ ├── MultiProducerSequencerBenchmark.java │ ├── MultiProducerSingleConsumer.java │ ├── RingBufferBenchmark.java │ ├── RingBufferFalseSharingBenchmark.java │ ├── SequenceBenchmark.java │ ├── SingleProducerSingleConsumer.java │ └── util/ │ ├── Constants.java │ ├── SimpleEvent.java │ └── SimpleEventHandler.java ├── main/ │ └── java/ │ ├── com/ │ │ └── lmax/ │ │ └── disruptor/ │ │ ├── AbstractSequencer.java │ │ ├── AggregateEventHandler.java │ │ ├── AlertException.java │ │ ├── BatchEventProcessor.java │ │ ├── BatchEventProcessorBuilder.java │ │ ├── BatchRewindStrategy.java │ │ ├── BlockingWaitStrategy.java │ │ ├── BusySpinWaitStrategy.java │ │ ├── Cursored.java │ │ ├── DataProvider.java │ │ ├── EventFactory.java │ │ ├── EventHandler.java │ │ ├── EventHandlerBase.java │ │ ├── EventHandlerIdentity.java │ │ ├── EventPoller.java │ │ ├── EventProcessor.java │ │ ├── EventSequencer.java │ │ ├── EventSink.java │ │ ├── EventTranslator.java │ │ ├── EventTranslatorOneArg.java │ │ ├── EventTranslatorThreeArg.java │ │ ├── EventTranslatorTwoArg.java │ │ ├── EventTranslatorVararg.java │ │ ├── EventuallyGiveUpBatchRewindStrategy.java │ │ ├── ExceptionHandler.java │ │ ├── ExceptionHandlers.java │ │ ├── FatalExceptionHandler.java │ │ ├── FixedSequenceGroup.java │ │ ├── IgnoreExceptionHandler.java │ │ ├── InsufficientCapacityException.java │ │ ├── LiteBlockingWaitStrategy.java │ │ ├── LiteTimeoutBlockingWaitStrategy.java │ │ ├── MultiProducerSequencer.java │ │ ├── NanosecondPauseBatchRewindStrategy.java │ │ ├── NoOpEventProcessor.java │ │ ├── PhasedBackoffWaitStrategy.java │ │ ├── ProcessingSequenceBarrier.java │ │ ├── RewindAction.java │ │ ├── RewindHandler.java │ │ ├── RewindableEventHandler.java │ │ ├── RewindableException.java │ │ ├── RingBuffer.java │ │ ├── Sequence.java │ │ ├── SequenceBarrier.java │ │ ├── SequenceGroup.java │ │ ├── SequenceGroups.java │ │ ├── Sequenced.java │ │ ├── Sequencer.java │ │ ├── SimpleBatchRewindStrategy.java │ │ ├── SingleProducerSequencer.java │ │ ├── SleepingWaitStrategy.java │ │ ├── TimeoutBlockingWaitStrategy.java │ │ ├── TimeoutException.java │ │ ├── WaitStrategy.java │ │ ├── YieldingWaitStrategy.java │ │ ├── dsl/ │ │ │ ├── ConsumerInfo.java │ │ │ ├── ConsumerRepository.java │ │ │ ├── Disruptor.java │ │ │ ├── EventHandlerGroup.java │ │ │ ├── EventProcessorFactory.java │ │ │ ├── EventProcessorInfo.java │ │ │ ├── ExceptionHandlerSetting.java │ │ │ ├── ExceptionHandlerWrapper.java │ │ │ ├── ProducerType.java │ │ │ └── package-info.java │ │ ├── package-info.java │ │ └── util/ │ │ ├── DaemonThreadFactory.java │ │ ├── ThreadHints.java │ │ ├── Util.java │ │ └── package-info.java │ └── module-info.java ├── perftest/ │ └── java/ │ └── com/ │ └── lmax/ │ └── disruptor/ │ ├── AbstractPerfTestDisruptor.java │ ├── AbstractPerfTestQueue.java │ ├── PerfTestContext.java │ ├── immutable/ │ │ ├── Constants.java │ │ ├── CustomPerformanceTest.java │ │ ├── CustomRingBuffer.java │ │ ├── EventAccessor.java │ │ ├── EventHolder.java │ │ ├── EventHolderHandler.java │ │ ├── SimpleEvent.java │ │ ├── SimpleEventHandler.java │ │ └── SimplePerformanceTest.java │ ├── offheap/ │ │ ├── OneToOneOffHeapThroughputTest.java │ │ └── OneToOneOnHeapThroughputTest.java │ ├── queue/ │ │ ├── OneToOneQueueBatchedThroughputTest.java │ │ ├── OneToOneQueueThroughputTest.java │ │ ├── OneToThreeDiamondQueueThroughputTest.java │ │ ├── OneToThreePipelineQueueThroughputTest.java │ │ ├── OneToThreeQueueThroughputTest.java │ │ ├── PingPongQueueLatencyTest.java │ │ ├── ThreeToOneQueueBatchThroughputTest.java │ │ └── ThreeToOneQueueThroughputTest.java │ ├── raw/ │ │ ├── OneToOneRawBatchThroughputTest.java │ │ └── OneToOneRawThroughputTest.java │ ├── sequenced/ │ │ ├── OneToOneSequencedBatchThroughputTest.java │ │ ├── OneToOneSequencedLongArrayThroughputTest.java │ │ ├── OneToOneSequencedPollerThroughputTest.java │ │ ├── OneToOneSequencedThroughputTest.java │ │ ├── OneToThreeDiamondSequencedThroughputTest.java │ │ ├── OneToThreePipelineSequencedThroughputTest.java │ │ ├── OneToThreeSequencedThroughputTest.java │ │ ├── PingPongSequencedLatencyTest.java │ │ ├── ThreeToOneSequencedBatchThroughputTest.java │ │ ├── ThreeToOneSequencedThroughputTest.java │ │ └── ThreeToThreeSequencedThroughputTest.java │ ├── support/ │ │ ├── EventCountingQueueProcessor.java │ │ ├── FizzBuzzEvent.java │ │ ├── FizzBuzzEventHandler.java │ │ ├── FizzBuzzQueueProcessor.java │ │ ├── FizzBuzzStep.java │ │ ├── FunctionEvent.java │ │ ├── FunctionEventHandler.java │ │ ├── FunctionQueueProcessor.java │ │ ├── FunctionStep.java │ │ ├── LongArrayEventHandler.java │ │ ├── LongArrayPublisher.java │ │ ├── MultiBufferBatchEventProcessor.java │ │ ├── Operation.java │ │ ├── PerfTestUtil.java │ │ ├── ValueAdditionBatchQueueProcessor.java │ │ ├── ValueAdditionEventHandler.java │ │ ├── ValueAdditionQueueBatchProcessor.java │ │ ├── ValueAdditionQueueProcessor.java │ │ ├── ValueBatchPublisher.java │ │ ├── ValueEvent.java │ │ ├── ValueMutationEventHandler.java │ │ ├── ValueMutationQueueProcessor.java │ │ ├── ValuePublisher.java │ │ └── ValueQueuePublisher.java │ └── translator/ │ └── OneToOneTranslatorThroughputTest.java └── test/ └── java/ └── com/ └── lmax/ └── disruptor/ ├── AggregateEventHandlerTest.java ├── BatchEventProcessorTest.java ├── BatchingTest.java ├── BusySpinWaitStrategyTest.java ├── DisruptorStressTest.java ├── EventPollerTest.java ├── EventPublisherTest.java ├── EventTranslatorTest.java ├── FatalExceptionHandlerTest.java ├── FixedSequenceGroupTest.java ├── IgnoreExceptionHandlerTest.java ├── LifecycleAwareTest.java ├── LiteTimeoutBlockingWaitStrategyTest.java ├── MaxBatchSizeEventProcessorTest.java ├── MultiProducerSequencerTest.java ├── PhasedBackoffWaitStrategyTest.java ├── RewindBatchEventProcessorTest.java ├── RingBufferEventMatcher.java ├── RingBufferTest.java ├── RingBufferWithAssertingStubTest.java ├── SequenceBarrierTest.java ├── SequenceGroupTest.java ├── SequenceReportingCallbackTest.java ├── SequenceTest.java ├── SequencerTest.java ├── ShutdownOnFatalExceptionTest.java ├── SingleProducerSequencerTest.java ├── SleepingWaitStrategyTest.java ├── TimeoutBlockingWaitStrategyTest.java ├── YieldingWaitStrategyTest.java ├── alternatives/ │ ├── MultiProducerSequencerUnsafe.java │ ├── MultiProducerSequencerVarHandle.java │ ├── RingBufferArray.java │ ├── RingBufferUnsafe.java │ ├── SequenceDoublePadded.java │ ├── SequenceUnsafe.java │ ├── SequenceVarHandle.java │ ├── SequenceVarHandleArray.java │ └── SequenceVarHandleBarrier.java ├── dsl/ │ ├── ConsumerRepositoryTest.java │ ├── DisruptorTest.java │ └── stubs/ │ ├── DelayedEventHandler.java │ ├── EventHandlerStub.java │ ├── EvilEqualsEventHandler.java │ ├── ExceptionThrowingEventHandler.java │ ├── SleepingEventHandler.java │ ├── StubExceptionHandler.java │ ├── StubPublisher.java │ └── StubThreadFactory.java ├── support/ │ ├── DummyEventHandler.java │ ├── DummyEventProcessor.java │ ├── DummySequenceBarrier.java │ ├── DummyWaitStrategy.java │ ├── LongEvent.java │ ├── SequenceUpdater.java │ ├── StubEvent.java │ ├── TestEvent.java │ ├── TestWaiter.java │ └── WaitStrategyTestUtil.java └── util/ ├── MutableLong.java ├── PaddedLong.java ├── UnsafeAccess.java └── UtilTest.java