To track changes in the protocol, or defaults, rather than differences in any particular implementation
-
FAST_XXX RollSchemes see https://github.com/OpenHFT/Chronicle-Queue/blob/ea/src/main/java/net/openhft/chronicle/queue/RollCycles.java
-
Default RollScheme (e.g. for SingleChronicleQueueBuilder) changes from
DAILYtoFAST_DAILY -
Since schemes make reduced bits available for cycle value, new concept of "epoch" which appears to be a constant offset to the cycle value, ie. we now longer assume epoch is midnight 1970.01.01
-
New per-queue
metadata.cq4tfile replacesdirectory-listing.cq4tfile.- STStore -> SCQMeta -> SCQSRoll fields need to be parsed since they are removed from queue files:
- length (uint32)
- epoch (uint8)
- format (text)
-
queue metatdata wire encoder changes:
SCQSIndexing.indexSpacingchanges fromuint8touint16
-
a v5 queue with no data written can be a metadata.cq4t with no queue files (relax queuefile existance checks)
-
SingleChronicleQueueBuilder writeText() seems to be writing a one-byte prefix to the data
-
data/metadata messages are now 4 byte aligned (see
pad4inparse_queue_block) so the header CAS read is always aligned -
only appenders can write metadata and index pages (no lazy indexing - libchronicle never supported it)
- requires at least one queuefile to learn the roll scheme, although we do not know what the rollscheme is to find the queuefile, so bootstrap using filesystem glob
- queue data/metadata pages are not aligned