public void SetEvent(DSEvent eve, string msg = " ", bool quit = false) { lock (locker) { if (EventQueue == null) { EventQueue = new Queue <DSEvent>(); } EventQueue.Enqueue(eve); string str = "[" + eve.ToString() + "] " + msg + "\n"; if (msg != " ") { AddMsg(str); if (Configure.debug) { Console.WriteLine(str); } } } if (quit) { if (eve == DSEvent.Error) { throw new Exception(); } } }
public void SetEvent(DSEvent str) { if (EventQueue == null) { EventQueue = new Queue <DSEvent>(); } EventQueue.Enqueue(str); }
public void SetEvent(DSEvent eve, string msg = " ") { if (EventQueue == null) { EventQueue = new Queue <DSEvent>(); } EventQueue.Enqueue(eve); string str = "[" + eve.ToString() + "] " + msg; AddMsg(str); Console.WriteLine(str); if (eve == DSEvent.Error) { throw new Exception(); } }
public bool CheckEvent(double time, DSEvent successful, DSEvent failure) { lock (locker) { if (!threadEnable) { return(false); } } DateTime t = DateTime.Now; while ((DateTime.Now - t).TotalMilliseconds < time) { int resulttest = 0; lock (locker) { for (int i = 0; i < EventQueue.Count; i++) { var item = EventQueue.Dequeue(); if (item != DSEvent.None) { if (item == successful) { resulttest = 1; } if (item == failure) { resulttest = 2; } } } } if (resulttest == 1) { return(true); } if (resulttest == 2) { return(false); } Thread.Sleep(10); } SetEvent(DSEvent.Error, "Time out"); return(false); }
public bool CheckEvent(double time, DSEvent successful, DSEvent failure) { DateTime t = DateTime.Now; while ((DateTime.Now - t).TotalMilliseconds < time) { var eve = GetEvent(); if (eve != DSEvent.None) { if (eve == successful) { return(true); } if (eve == failure) { return(false); } SetEvent(eve);//turn back event; } Thread.Sleep(1); } return(false); }