protected virtual void DoRelease(Release release) { if (!Users.Remove(release.Request)) { throw new InvalidOperationException("Released request does not have a user."); } release.Succeed(); }
protected virtual void DoRelease(Release release) { if (!Users.Remove(release.Request)) { var current = RequestQueue.First; while (current != null && current.Value != release.Request) current = current.Next; if (current != null) RequestQueue.Remove(current); } release.Succeed(); }
protected virtual void DoRelease(Release release) { if (!Users.Remove(release.Request)) { throw new InvalidOperationException("Released request does not have a user."); } LeadTime?.Add(Environment.ToDouble(Environment.Now - release.Request.Time)); release.Succeed(); }
protected virtual void DoRelease(Release release) { var req = (PreemptiveRequest)release.Request; if (!Users.Remove(req) && !req.IsPreempted) { throw new InvalidOperationException("Released request does not have a user."); } release.Succeed(); }
protected virtual void DoRelease(Release release) { if (!Users.Remove(release.Request)) { var prioRequest = release.Request as PriorityRequest; if (prioRequest != null) { var current = RequestQueue[prioRequest.Priority].First; while (current != null && current.Value != release.Request) current = current.Next; if (current != null) RequestQueue[prioRequest.Priority].Remove(current); } } release.Succeed(); }
protected virtual void DoRelease(Release release) { if (!Users.Remove(release.Request)) { var current = RequestQueue.First; while (current != null && current.Value != release.Request) { current = current.Next; } if (current != null) { RequestQueue.Remove(current); } } release.Succeed(); }
protected virtual void DoRelease(Release release) { if (!Users.Remove(release.Request)) { var preemptRequest = release.Request as PreemptiveRequest; if (preemptRequest != null) { var current = RequestQueue[preemptRequest.Priority].First; while (current != null && current.Value != release.Request) { current = current.Next; } if (current != null) { RequestQueue[preemptRequest.Priority].Remove(current); } } } release.Succeed(); }
protected virtual void DoRelease(Release release) { Resources.Add(release.Request.Value); release.Succeed(); }
protected virtual void DoRelease(Release release) { Resources.Add(release.Request.Value); release.Succeed(); }
protected virtual void DoRelease(Release release) { Users.Remove(release.Request); release.Succeed(); }
protected virtual void DoRelease(Release release) { Users.Remove(release.Request); InUse -= release.Request.Quantity; release.Succeed(); }
protected virtual void DoRelease(Release release) { Users.Remove(release.Request); release.Succeed(); }
protected virtual void DoRelease(Release release) { Resources.Add(release.Request.Value); LeadTime?.Add(Environment.ToDouble(Environment.Now - release.Request.Time)); release.Succeed(); }