GitProvider.SharedHandler is private static readonly on the base class rather than on each derived provider, so every provider deriving from it shares one SocketsHttpHandler.
That is currently equivalent to per-provider, because AzureDevOpsProvider is its only user and GitHubProvider has its own. Add a third provider and it silently shares Azure DevOps's connection pool.
Harmless in itself, since pools are keyed per host, but the sharing is accidental rather than intended, and the next provider author has no reason to notice it.
Found during the Phase 5b final fix re-review (#80).
GitProvider.SharedHandlerisprivate static readonlyon the base class rather than on each derived provider, so every provider deriving from it shares oneSocketsHttpHandler.That is currently equivalent to per-provider, because
AzureDevOpsProvideris its only user andGitHubProviderhas its own. Add a third provider and it silently shares Azure DevOps's connection pool.Harmless in itself, since pools are keyed per host, but the sharing is accidental rather than intended, and the next provider author has no reason to notice it.
Found during the Phase 5b final fix re-review (#80).