public virtual Release Release(Request request) { var release = new Release(Environment, request, TriggerRequest); ReleaseQueue.Enqueue(release); TriggerRelease(); return release; }
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 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) { 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) { Resources.Add(release.Request.Value); release.Succeed(); }
protected virtual void DoRelease(Release release) { Resources.Add(release.Request.Value); LeadTime?.Add(Environment.ToDouble(Environment.Now - release.Request.Time)); release.Succeed(); }