public void SendInformalMessage(Node recipient, TimeSpan time) { TimeEdges.Add(recipient); TimeMessage.Add(time); this.SendMessage(recipient); recipient.ReceiveInformaion(this, time); }
public void Utilize(int limit, TimeSpan Time, out string log) { log = ""; for (int i = 0; i < TimeMessage.Count; i++) { if (Time.Subtract(TimeMessage[i]).TotalSeconds > limit) { for (int f = 0; f < Edges.Count; f++) { if (TimeEdges[i].Equals(Edges[f])) { if (EdgeWeight[f] > 1) { log += "Edge #" + No + " & Edge # " + Edges[f].No + " get low\n"; EdgeWeight[f] -= 1; TimeEdges.RemoveAt(i); TimeMessage.RemoveAt(i); break; } else { log += "Edge #" + No + " & Edge # " + Edges[f].No + " delete\n"; Edges.RemoveAt(f); EdgeWeight.RemoveAt(f); TimeEdges.RemoveAt(i); TimeMessage.RemoveAt(i); break; } } } --i; } } }
protected void ReceiveInformaion(Node sender, TimeSpan time) { TimeEdges.Add(sender); TimeMessage.Add(time); }