-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add API for accessing / modify settings maps (#734)
This adds a new API that allows auto splitters to access the current settings map and to modify it. For now only booleans settings are supported, but this can very easily be extended to other types. The API is designed so no large scale locking is necessary, so malicious or buggy auto splitters can't lock up the application. However, in order for the API to not cause race conditions all the values are based on the copy-on-write principle. The values are cheaply cloned, allowing the auto splitter to work on a seemingly owned copy of the settings map and the values inside. A CAS algorithm can be used to then resolve any races where two parts of the code make modifications to the settings map in parallel. Co-authored-by: AlexKnauth <[email protected]>
- Loading branch information
1 parent
18de8b8
commit 68f8064
Showing
5 changed files
with
459 additions
and
47 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.