Exemple #1
0
 protected virtual void TriggerPut(Event @event = null)
 {
     while (PutQueue.Count > 0)
     {
         var put = PutQueue.Peek();
         DoPut(put);
         if (put.IsTriggered)
         {
             PutQueue.Dequeue();
             TriggerWhenAtLeast();
             TriggerWhenChange();
         }
         else
         {
             break;
         }
     }
     Fillrate?.UpdateTo(Level / Capacity);
     PutQueueLength?.UpdateTo(PutQueue.Count);
 }
Exemple #2
0
 protected virtual void TriggerPut(Event @event = null)
 {
     while (PutQueue.Count > 0)
     {
         var put = PutQueue.Peek();
         DoPut(put);
         if (put.IsTriggered)
         {
             PutQueue.Dequeue();
             TriggerWhenNew();
             TriggerWhenAny();
             TriggerWhenFull();
             TriggerWhenChange();
         }
         else
         {
             break;
         }
     }
     Utilization?.UpdateTo(Count / (double)Capacity);
     WIP?.UpdateTo(Count + PutQueue.Count + GetQueue.Count);
     PutQueueLength?.UpdateTo(PutQueue.Count);
 }