Пример #1
0
 public void ScheduleFirst(int dest, double delay, int tag, object data = null)
 {
     if (!CloudSim.Running)
     {
         return;
     }
     CloudSim.SendFirst(Id, dest, delay, tag, data);
 }
 public override void ProcessEvent(SimEvent e)
 {
     _numUser--;
     if (_numUser == 0 || e.Tag == CloudSimTags.ABRUPT_END_OF_SIMULATION)
     {
         CloudSim.AbruptlyTerminate();
     }
 }
Пример #3
0
 public void WaitForEvent(Predicate p)
 {
     if (!CloudSim.Running)
     {
         return;
     }
     CloudSim.Wait(Id, p);
     State = WAITING;
 }
Пример #4
0
        public SimEvent CancelEvent(Predicate p)
        {
            if (!CloudSim.Running)
            {
                return(null);
            }

            return(CloudSim.Cancel(Id, p));
        }
Пример #5
0
        public SimEvent SelectEvent(Predicate p)
        {
            if (!CloudSim.Running)
            {
                return(null);
            }

            return(CloudSim.Select(Id, p));
        }
Пример #6
0
        public override string ToString()
        {
            var sb = new StringBuilder();

            sb.Append($"Event tag = {_tag} ")
            .Append($"source = {CloudSim.GetEntity(_sourceEntity).Name} ")
            .Append($"destination = {CloudSim.GetEntity(_destEntity).Name}");

            return(sb.ToString());
        }
Пример #7
0
 public SimEntity(string name)
 {
     if (name.IndexOf(" ") != -1)
     {
         throw new ArgumentException("Entity names can't contain spaces.");
     }
     _name  = name;
     _id    = -1;
     _state = RUNNABLE;
     CloudSim.AddEntity(this);
 }
Пример #8
0
 public void Pause(double delay)
 {
     if (delay < 0)
     {
         throw new ArgumentException("Negative delay supplied.");
     }
     if (!CloudSim.Running)
     {
         return;
     }
     CloudSim.Pause(Id, delay);
 }
Пример #9
0
 public void ScheduleFirst(string dest, double delay, int tag, object data = null)
 {
     ScheduleFirst(CloudSim.GetEntityId(dest), delay, tag, data);
 }
Пример #10
0
 public void SendNow(string entityName, double delay, int cloudSimTag, object data = null)
 {
     Send(CloudSim.GetEntityId(entityName), delay, cloudSimTag, data);
 }
Пример #11
0
 public int NumEventsWaiting()
 {
     return(CloudSim.Waiting(Id, CloudSim.SIM_ANY));
 }
Пример #12
0
 public int NumEventsWaiting(Predicate p)
 {
     return(CloudSim.Waiting(Id, p));
 }
Пример #13
0
        protected void ProcessOtherEvent(SimEvent e)
        {
            var methodName = MethodBase.GetCurrentMethod().Name;
            var className  = GetType().Name;

            if (e == null)
            {
                Log.WriteConcatLine(className, ".", methodName, "(): Unable to handle a request since the event is null.");
                return;
            }

            Log.WriteLine($"{className}.{methodName}(): Unable to handle a request from {CloudSim.GetEntityName(e.Source)} with event tag = {e.Tag}");
        }