Ejemplo n.º 1
0
 // Token: 0x06000648 RID: 1608 RVA: 0x0001F1C4 File Offset: 0x0001D3C4
 private void OnOperationComplete(IADDatabase db)
 {
     lock (this.locker)
     {
         if (++this.totalOperationsCompleted == this.opList.Count)
         {
             this.Phase = BatchDatabaseOperation.BatchPhase.Complete;
             if (this.completionEvent != null)
             {
                 this.completionEvent.Set();
             }
         }
     }
 }
Ejemplo n.º 2
0
        // Token: 0x06000649 RID: 1609 RVA: 0x0001F238 File Offset: 0x0001D438
        internal void DispatchOperations()
        {
            bool flag = false;

            lock (this.locker)
            {
                if (this.Phase != BatchDatabaseOperation.BatchPhase.Initializing)
                {
                    throw new InvalidOperationException("Batch can only be dispatched once");
                }
                if (this.opList.Count == 0)
                {
                    this.Phase = BatchDatabaseOperation.BatchPhase.Complete;
                }
                else
                {
                    this.Phase           = BatchDatabaseOperation.BatchPhase.Dispatching;
                    this.completionEvent = new ManualOneShotEvent("BatchDatabaseOperation");
                    flag = true;
                }
            }
            if (flag)
            {
                AmDatabaseQueueManager databaseQueueManager = AmSystemManager.Instance.DatabaseQueueManager;
                foreach (AmDbOperation opr in this.opList)
                {
                    databaseQueueManager.Enqueue(opr);
                }
                lock (this.locker)
                {
                    if (this.Phase == BatchDatabaseOperation.BatchPhase.Dispatching)
                    {
                        this.Phase = BatchDatabaseOperation.BatchPhase.Running;
                    }
                }
            }
        }
Ejemplo n.º 3
0
 // Token: 0x06000646 RID: 1606 RVA: 0x0001F11F File Offset: 0x0001D31F
 internal BatchDatabaseOperation()
 {
     this.Phase = BatchDatabaseOperation.BatchPhase.Initializing;
 }