-
Notifications
You must be signed in to change notification settings - Fork 35
Open
Description
The eventlog is structured as a list of blocks of events.
A block has a capability number that specifies the capability of upcoming events, and some information about when the block was written.
Currently we erase block events when reading the eventlog. This leads to two issues:
- when writing the eventlog back out, we have to recreate blocks. But can't do so properly since information has been lost leading to roundtripping failures. I believe this would be a big step towards addressing Testsuite write-merge failing #14
- we cannot currently figure out from the eventlog when the application is busy writing to the eventlog, but this is exactly what the two timestamps on the block event tell us.
My proposal is to keep the block events during parsing and require their presence when writing out eventlogs. This introduces some new illegal states, ie, an eventlog without block events could not now be written to a file. How does this sound?
An alternative is to change the types to make these states unrepresentable but I don't think the breaking change from that would be worth it.
Metadata
Metadata
Assignees
Labels
No labels