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