This fixes the InterProcessorSemaphoreMutex state issue we found. It is mostly renaming stuff, extracting things, and writing tests, though. I'm up for better name suggestions. It also adds a synchronous/blocking version of the curator lock (now called Distributed(Asynchronous)LockRunner) because the use case the WebhookManager has doesn't require a long-running process and the extra complexity is silly to add for no reason.
Going commit-by-commit is probably more digestible because of renaming. This has been sitting unchanged in a branch for a while, so hopefully I'll have answers to questions.
This fixes the InterProcessorSemaphoreMutex state issue we found. It is mostly renaming stuff, extracting things, and writing tests, though. I'm up for better name suggestions. It also adds a synchronous/blocking version of the curator lock (now called Distributed(Asynchronous)LockRunner) because the use case the WebhookManager has doesn't require a long-running process and the extra complexity is silly to add for no reason.
Going commit-by-commit is probably more digestible because of renaming. This has been sitting unchanged in a branch for a while, so hopefully I'll have answers to questions.