Microsoft.Data.SqlClient.ConnectionPool.IDbConnectionPool
interface IDbConnectionPool
A base interface for implementing database connection pools.
Implementations are responsible for managing the lifecycle
of connections and providing access to database connections.
namespace Microsoft.Data.SqlClient.ConnectionPool
{
internal interface IDbConnectionPool
{
ConcurrentDictionary<DbConnectionPoolAuthenticationContextKey, DbConnectionPoolAuthenticationContext> AuthenticationContexts { get; }
SqlConnectionFactory ConnectionFactory { get; }
int Count { get; }
int IdleCount { get; }
bool ErrorOccurred { get; }
int Id { get; }
DbConnectionPoolIdentity Identity { get; }
bool IsRunning { get; }
TimeSpan LoadBalanceTimeout { get; }
DbConnectionPoolGroup PoolGroup { get; }
DbConnectionPoolGroupOptions PoolGroupOptions { get; }
DbConnectionPoolProviderInfo ProviderInfo { get; }
DbConnectionPoolState State { get; }
TransactedConnectionPool TransactedConnectionPool { get; }
bool UseLoadBalancing { get; }
void Clear();
bool TryGetConnection(DbConnection owningObject, TaskCompletionSource<DbConnectionInternal> taskCompletionSource, DbConnectionOptions userOptions, out DbConnectionInternal connection);
DbConnectionInternal ReplaceConnection(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection);
void ReturnInternalConnection(DbConnectionInternal obj, DbConnection owningObject);
void PutObjectFromTransactedPool(DbConnectionInternal obj);
void Startup();
void Shutdown();
void TransactionEnded(Transaction transaction, DbConnectionInternal transactedObject);
}
}