// Token: 0x0600004D RID: 77 RVA: 0x00002C20 File Offset: 0x00000E20
        protected AmMultiNodeMdbStatusFetcher StartMdbStatusFetcher()
        {
            AmMultiNodeMdbStatusFetcher amMultiNodeMdbStatusFetcher = new AmMultiNodeMdbStatusFetcher();

            ThreadPoolThreadCountHelper.IncreaseForServerOperations(this.m_amConfig);
            amMultiNodeMdbStatusFetcher.Start(this.m_amConfig, new Func <List <AmServerName> >(this.GetServers));
            return(amMultiNodeMdbStatusFetcher);
        }
 // Token: 0x06000089 RID: 137 RVA: 0x00004658 File Offset: 0x00002858
 protected void MoveDatabases(AmDbActionCode actionCode, IADDatabase[] dbList)
 {
     if (dbList == null || dbList.Length <= 0)
     {
         AmTrace.Info("Server '{0}' does not have any databases that need to be moved", new object[]
         {
             this.m_nodeName
         });
         return;
     }
     if (!this.m_amConfig.DagConfig.IsThirdPartyReplEnabled)
     {
         ThreadPoolThreadCountHelper.IncreaseForDatabaseOperations(dbList.Length);
         this.MoveDatabasesNormally(actionCode, dbList);
         return;
     }
     this.SendThirdPartyNotifications(dbList);
 }
 // Token: 0x06000063 RID: 99 RVA: 0x000036F4 File Offset: 0x000018F4
 protected void EnqueueGeneratedOperations(Dictionary <Guid, DatabaseInfo> dbMap)
 {
     ThreadPoolThreadCountHelper.IncreaseForDatabaseOperations(this.GetCountOfGeneratedOperations(dbMap));
     foreach (DatabaseInfo databaseInfo in dbMap.Values)
     {
         if (databaseInfo.OperationsQueued != null && databaseInfo.OperationsQueued.Count > 0)
         {
             base.EnqueueDatabaseOperationBatch(databaseInfo.Database.Guid, databaseInfo.OperationsQueued);
         }
     }
     foreach (DatabaseInfo databaseInfo2 in dbMap.Values)
     {
         if (databaseInfo2.OperationsQueued != null && databaseInfo2.OperationsQueued.Count > 0)
         {
             base.StartDatabaseOperationBatch(databaseInfo2.Database.Guid, databaseInfo2.OperationsQueued);
         }
     }
 }
 // Token: 0x06000044 RID: 68 RVA: 0x000027CC File Offset: 0x000009CC
 internal void MarkAllDone()
 {
     lock (this.m_locker)
     {
         AmTrace.Debug("{0} finished processing all the databases", new object[]
         {
             base.GetType().Name
         });
         if (!this.m_isAllDone)
         {
             this.m_isAllDone = true;
             this.LogCompletionInternal();
             if (this.CompletionCallback != null)
             {
                 this.CompletionCallback(new List <AmDbOperation>(this.m_opList));
             }
             ThreadPoolThreadCountHelper.Reset();
         }
         else
         {
             AmTrace.Debug("IsAllDone() is already marked and completionback was already called. Possibly custom status is reached already.", new object[0]);
         }
     }
 }
        internal static void IncreaseForDatabaseOperations(int numDatabaseOps)
        {
            int numThreadsPerPamDbOperation = RegistryParameters.NumThreadsPerPamDbOperation;

            ThreadPoolThreadCountHelper.IncrementBy(numThreadsPerPamDbOperation * numDatabaseOps);
        }
        internal static void IncreaseForServerOperations(AmConfig cfg)
        {
            int threadCount = cfg.IsPamOrSam ? cfg.DagConfig.MemberServers.Length : 1;

            ThreadPoolThreadCountHelper.IncrementBy(threadCount);
        }