Imported Upstream version 4.3.2.467

Former-commit-id: 9c2cb47f45fa221e661ab616387c9cda183f283d
This commit is contained in:
Xamarin Public Jenkins
2016-02-22 11:00:01 -05:00
parent f302175246
commit f3e3aab35a
4097 changed files with 122406 additions and 82300 deletions

View File

@@ -428,6 +428,11 @@ namespace System.Data.ProviderBase {
private readonly DbConnectionPoolGroupOptions _connectionPoolGroupOptions;
private DbConnectionPoolProviderInfo _connectionPoolProviderInfo;
/// <summary>
/// The private member which carries the set of authenticationcontexts for this pool (based on the user's identity).
/// </summary>
private readonly ConcurrentDictionary<DbConnectionPoolAuthenticationContextKey, DbConnectionPoolAuthenticationContext> _pooledDbAuthenticationContexts;
private State _state;
private readonly ConcurrentStack<DbConnectionInternal> _stackOld = new ConcurrentStack<DbConnectionInternal>();
@@ -489,6 +494,9 @@ namespace System.Data.ProviderBase {
_objectList = new List<DbConnectionInternal>(MaxPoolSize);
_pooledDbAuthenticationContexts = new ConcurrentDictionary<DbConnectionPoolAuthenticationContextKey, DbConnectionPoolAuthenticationContext>(concurrencyLevel: 4 * Environment.ProcessorCount /* default value in ConcurrentDictionary*/,
capacity: 2);
if(ADP.IsPlatformNT5) {
_transactedConnectionPool = new TransactedConnectionPool(this);
}
@@ -585,6 +593,17 @@ namespace System.Data.ProviderBase {
get { return _connectionPoolProviderInfo; }
}
/// <summary>
/// Return the pooled authentication contexts.
/// </summary>
internal ConcurrentDictionary<DbConnectionPoolAuthenticationContextKey, DbConnectionPoolAuthenticationContext> AuthenticationContexts
{
get
{
return _pooledDbAuthenticationContexts;
}
}
internal bool UseLoadBalancing {
get { return PoolGroupOptions.UseLoadBalancing; }
}