示例#1
0
        public static async Task <SpannerClient> AcquireClientAsync(
            ITokenAccess credentials = null,
            ServiceEndpoint endpoint = null)
        {
            var key       = new ClientPoolKey(credentials, endpoint ?? SpannerClient.DefaultEndpoint);
            var poolEntry = s_clientEntryPool.GetOrAdd(key, k => new ClientPoolEntry(key));
            var result    = await poolEntry.AcquireClientFromEntryAsync().ConfigureAwait(false);

            Logger.LogPerformanceCounter("SpannerClient.Count", () => s_clientEntryPool.Count);
            return(result);
        }
示例#2
0
 public ClientPoolEntry(ClientPoolKey key) => _key = key;