public void SendResponses(SendResponseDelegate del) { while (true) { ThreadTask <T> response; lock (ResponsesLock) { if (Responses.Count == 0) { break; } response = Responses.Dequeue(); } Output($"Dequeued response... {response.State}"); if (response.State == ThreadTask <T> .ThreadTaskState.Responded) { Output("Sending response"); del(response); Output("Sent response"); } } }
public KTASimulator() { Name = "KTSIM"; m_ID = "KTSIM"; m_Tag = ""; log.Info(Name + " Created"); m_SRDelegate = new SendResponseDelegate(this.handleResponse); m_OrderContextOrdID = new Dictionary<string, DriverBase.OrderContext>(); //m_OrderContextClOrdID = new Dictionary<string, DriverBase.OrderContext>(); m_Markets = new Dictionary<string, Market>(); m_FillList = new List<DriverBase.OrderContext>(); genSampleConfig(); _products = new Dictionary<string, SimulatorProduct>(); m_RNGen = new Random(); _filePrices = new Dictionary<string, FilePriceSource>(); m_MainForm = new SimulatorMainUI(); m_MainForm.Simulator = this; }
public ServiceRecievedRequestEventArgs(T req, SendResponseDelegate <U> sendResponseFunc) { SendResponseFunc = sendResponseFunc; request = req; }