Microsoft.Identity.Client.PlatformsCommon.Shared.KeyedSemaphorePool
Provides per-key async gates using SemaphoreSlim.
Call EnterAsync and ensure Release is called in a finally block.
Semaphores are kept for the lifetime of the pool; we do not remove or dispose them
per key to avoid races with concurrent callers.
namespace Microsoft.Identity.Client.PlatformsCommon.Shared
{
internal sealed class KeyedSemaphorePool
{
public Task (string key, CancellationToken cancellationToken);
public void (string key);
public KeyedSemaphorePool();
}
}