Question

I am studying Disruptor in Java. I do not understand what's meaning of gating sequence. I know it core part is ring buffer and every buffer is associated with a sequence number.

Was it helpful?

Solution 2

Actually the core part of LMAX's implementation is the Sequencer and its Sequences. And so the ringBuffer implement those. The gatingSequences that you are referring to act as a cursor to each Sequencer that is "Subscribed" to the targeted ringBuffer (or other Sequencer). So that's how a Sequencer can have multiple cursors for its connected Sequencers (and let them touch the next sequence by just calling tryNext() ).

Cheers!

OTHER TIPS

The purpose of gating sequences is to gate publishers to prevent the RingBuffer from wrapping.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top