Remove "writes are canonical" precondition from addWrites
Some checks failed
weaselab/conflict-set/pipeline/head There was a failure building this commit

This commit is contained in:
2024-07-10 16:42:53 -07:00
parent 34cd210907
commit f19b403f19
3 changed files with 208 additions and 17 deletions

View File

@@ -70,11 +70,9 @@ struct __attribute__((__visibility__("default"))) ConflictSet {
/** The result of checking reads[i] is written in results[i] */
void check(const ReadRange *reads, Result *results, int count) const;
/** `writes` must be sorted ascending, and must not have adjacent or
* overlapping ranges. Reads intersecting writes where readVersion <
* `writeVersion` will result in `Conflict` (or `TooOld`, eventually).
* `writeVersion` must be greater than or equal to all previous write
* versions. */
/** Reads intersecting writes where readVersion < `writeVersion` will result
* in `Conflict` (or `TooOld`, eventually). `writeVersion` must be greater
* than or equal to all previous write versions. */
void addWrites(const WriteRange *writes, int count, int64_t writeVersion);
/** Reads where readVersion < oldestVersion will result in `TooOld`. Must be
@@ -161,11 +159,9 @@ void ConflictSet_check(const ConflictSet *cs,
const ConflictSet_ReadRange *reads,
ConflictSet_Result *results, int count);
/** `writes` must be sorted ascending, and must not have adjacent or
* overlapping ranges. Reads intersecting writes where readVersion <
* `writeVersion` will result in `Conflict` (or `TooOld`, eventually).
* `writeVersion` must be greater than or equal to all previous write versions.
*/
/** Reads intersecting writes where readVersion < `writeVersion` will result in
* `Conflict` (or `TooOld`, eventually). `writeVersion` must be greater than or
* equal to all previous write versions. */
void ConflictSet_addWrites(ConflictSet *cs,
const ConflictSet_WriteRange *writes, int count,
int64_t writeVersion);