Async Mode
Chronicle Async Mode
Chronicle Async Mode provides a high performance, multi-writer, multi-reader, buffered queue implementation which can be used in your application code.
Additionally, it allows the underlying buffer to be accessed through two different implementations of the ChronicleQueue interface, which allows it to be used to mitigate pauses which the OS can introduce when using ChronicleQueue under load. Using Enterprise Chronicle Queue together with Chronicle Async Mode allows a ChronicleQueue to be created that has an asynchronous buffer behind the scenes covering up any pauses from the underlying OS and hardware. This can be enabled by setting readBufferMode and writeBufferMode. Tests on real production client workloads have shown that configuring these parameters on a loaded system can immediately reduce latency outlier events by 98%.
The mechanics of Chronicle Async Mode
Chronicle Queue Enterprise Async Mode is a multi-writer, multi-reader, zero-garbage collection, monitored buffered queue implementation which takes Bytes. As the Chronicle stack is built on Bytes, you can use the buffer for byte arrays, packed objects, or you can serialise (or de-serialise objects out of, or into, it using Chronicle Wire.
Backing the buffer with a persistent BytesStore (that is, one backed with a memory-mapped file) means it will be visible to multiple processes. All processes can write to, and read from, the buffer.
Common scenarios:
Back the buffer with an in-memory BytesStore.
You can have multiple writers and multiple readers in the same process. The buffer does not survive longer than the process.Back the buffer with a memory-mapped BytesStore.
You can have multiple writers and multiple readers in multiple processes. The buffer’s data can outlast individual processes.

For more information, reach out to [email protected]