1 | | Okay, I think I understand how this will work now. We'll have a !WeakValueDictionary of !DeferredLocks, indexed by storage index, in each backend object. The lock object will be passed on to !ShareSet, !BucketReader, and !BucketWriter objects for that SI, and will be used to lock the remote operations. (Most of this can be done generically without only minimal support in the backend-specific objects.) |
| 1 | Okay, I think I understand how this will work now. We'll have a !WeakValueDictionary of !DeferredLocks, indexed by storage index, in each backend object. The lock object will be passed on to !ShareSet, !BucketReader, and !BucketWriter objects for that SI, and will be used to lock the remote operations. (Most of this can be done generically with only minimal support in the backend-specific objects.) |