public void CompareFirstError(VMSyncTraceTick compare) { var me = GetTick(compare.TickID); if (me == null) { return; } var last = "<start tick>"; for (int i = 0; i < compare.Trace.Count && i < me.Trace.Count; i++) { if (compare.Trace[i] != me.Trace[i]) { Console.WriteLine("!!! DESYNC DETECTED !!!"); Console.WriteLine("Last:"); Console.WriteLine(last); Console.WriteLine("Our trace:"); Console.WriteLine(me.Trace[i]); Console.WriteLine("Server trace:"); Console.WriteLine(compare.Trace[i]); return; } last = me.Trace[i]; } }
public void NewTick(uint id) { _current = new VMSyncTraceTick() { TickID = id }; History.Add(_current); if (History.Count > MAX_HISTORY) { History.RemoveAt(0); } }