A simple DSL to make using the LMAX disruptor pattern simpler.
Java
Switch branches/tags
Nothing to show
Permalink
Failed to load latest commit information.
lib
src
.gitignore
DisruptorWizard.iml
LICENCE.txt
README.md
build.xml
disruptorWizard.ipr
pom.xml

README.md

Disruptor Wizard

The disruptor wizard is a simple DSL to make setting up the LMAX Disruptor simpler. The LMAX disruptor itself is an extremely high performance, low latency method of passing data between producers and consumers in a lock-free manner. It was developed by LMAX as part of their financial trading platform.

Examples

A simple consumer chain where A must process events before B which must be before C which in turn must be before D.

DisruptorWizard dw = new DisruptorWizard(ENTRY_FACTORY, ringBufferSize, executor);
dw.consumeWith(A).then(B).then(C).then(D);

A diamond shape dependency where A and B process any event. C depends on A, D depends on B and E depends on all previous tasks.

dw.consumeWith(A, B);
dw.after(A).consumeWith(C);
dw.after(B).consumeWIth(D);
dw.after(C, D).consumeWith(E);