Skip to content

Commit

Permalink
[explainer] Clarify the needs of synchronous mutating operations. (#78)
Browse files Browse the repository at this point in the history
  • Loading branch information
mingyc authored Apr 7, 2023
1 parent 00a1f78 commit d5189eb
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,12 @@ The following 3 requirements are critical:

One possible requirement that is missing some clarity is

* The beacon should be cancelable.
* The beacon should be updatable after initialization.

This introduces many implementation complications in a multi-process browser.
In order to be resilient to crashes, the beacons must have a presence outside of their process
but in order to be cancellable (without race conditions) the state in process must be authoritative.
If perfectly cancellable beacons are not needed, then the [alternative write-only API](#write-only-api) becomes possible.
In order to be resilient to crashes, the beacons must have a presence outside of their process.
However, in order to allow synchronous mutating operations, e.g. update or cancel, without introducing data races, the state in process must be authoritative.
If perfectly mutating beacons are not needed, then the [alternative write-only API](#write-only-api) becomes possible.

## Design

Expand Down

0 comments on commit d5189eb

Please sign in to comment.