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(); } }
public void WaitForEvent(Predicate p) { if (!CloudSim.Running) { return; } CloudSim.Wait(Id, p); State = WAITING; }
public SimEvent CancelEvent(Predicate p) { if (!CloudSim.Running) { return(null); } return(CloudSim.Cancel(Id, p)); }
public SimEvent SelectEvent(Predicate p) { if (!CloudSim.Running) { return(null); } return(CloudSim.Select(Id, p)); }
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()); }
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); }
public void Pause(double delay) { if (delay < 0) { throw new ArgumentException("Negative delay supplied."); } if (!CloudSim.Running) { return; } CloudSim.Pause(Id, delay); }
public void ScheduleFirst(string dest, double delay, int tag, object data = null) { ScheduleFirst(CloudSim.GetEntityId(dest), delay, tag, data); }
public void SendNow(string entityName, double delay, int cloudSimTag, object data = null) { Send(CloudSim.GetEntityId(entityName), delay, cloudSimTag, data); }
public int NumEventsWaiting() { return(CloudSim.Waiting(Id, CloudSim.SIM_ANY)); }
public int NumEventsWaiting(Predicate p) { return(CloudSim.Waiting(Id, p)); }
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}"); }