Skip to content
This repository has been archived by the owner on Jun 21, 2022. It is now read-only.
/ disruptorWizard Public archive

A simple DSL to make using the LMAX disruptor pattern simpler.

License

Notifications You must be signed in to change notification settings

ajsutton/disruptorWizard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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);

About

A simple DSL to make using the LMAX disruptor pattern simpler.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages