frozen

private val frozen: ArrayList<String>

Frozen segments, oldest first, immutable once added. A plain list read under lock, not a copy-on-write one: freezes are frequent and reads rare, so COW would charge the writer O(segments) per freeze to save the reader a snapshot.