Make UpdateAtomic Delegates scoped and distinct #10673
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #10672
Related to
IVolatileDocumentManager.UpdateAtomicAsync()
that for now is never used in OC.One problem since we made
IVolatileDocumentManager
a singleton is that the same delegate list is always used / executed and grow up, so the delegate list should be still held at the scope level which I forgot to do.The 2nd problem is when enlisting multiple delegates (not allowed with
UpdateAsync()
), we can enlist multiple time the same delegate (targetting the same method and so on), not a problem most of the time but not good when we do things by batches where the same one can be added many times, so the delegate list should only contain distinct delegates.