internal ConnectionPool(ServicePoint servicePoint, int maxPoolSize, int minPoolSize, int idleTimeout, CreateConnectionDelegate createConnectionCallback) : base() {
m_State = State.Initializing;
m_CreateConnectionCallback = createConnectionCallback;
m_MaxPoolSize = maxPoolSize;
m_MinPoolSize = minPoolSize;
m_ServicePoint = servicePoint;
Initialize();
if (idleTimeout > 0) {
m_CleanupQueue = TimerThread.GetOrCreateQueue(idleTimeout / 2);
m_CleanupQueue.CreateTimer(s_CleanupCallback, this);
}
}