v0.5.1 — 2026-09-09
single_queue's cache-line size becomes a macro a consumer can override.
NLIB_CACHE_LINEreplaces thestd::hardware_destructive_interference_sizecheck.common.hdefines it to 64 unless a consumer defines it first;single_queue's two atomic counters align to it instead of a feature-tested constant computed on its own. A consumer that logs or tunes the alignment now has one macro to read instead of duplicating the feature-test.
v0.5.0 — 2026-09-06
cancel becomes a record of its own, and book defaults to a top-of-book
snapshot. Every wire type's layout moves again, so rebuild consumers together.
cancelcarriesorder_idandqtydirectly, instead of ridingorder'scancel_qtyfield.orderdrops that field and shrinks from 88 to 80 bytes;cancelis a new 48-byte record framed bycancel_tag(3).feed_eventandrecordboth add it.order_actionkeeps onlyaddandmodify.cancelandclearleave the enum; a full cancel is acancelrecord whoseqtyis the whole remainder.book's depth constant is renamedsnapshot_depthand defaults to 1.bookshrinks from 344 to 56 bytes, a top-of-book snapshot rather than a ten-level one. A consumer needing more depth raises the constant and rebuilds.- The header stops asserting each record's exact byte size. The
is_trivially_copyableandis_standard_layoutchecks stay; thesizeofchecks are gone, so a layout change no longer fails the build on its own.
Comments
Sign in to join the discussion.
No comments yet. Be the first.