Example #1
0
 protected virtual void TriggerGet(Event @event = null)
 {
     while (GetQueue.Count > 0)
     {
         var get = GetQueue.Peek();
         DoGet(get);
         if (get.IsTriggered)
         {
             GetQueue.Dequeue();
             TriggerWhenAtMost();
             TriggerWhenChange();
         }
         else
         {
             break;
         }
     }
     Fillrate?.UpdateTo(Level / Capacity);
     GetQueueLength?.UpdateTo(GetQueue.Count);
 }
Example #2
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);
 }