//исполнение ордеров /// <summary> /// место работы потока на очередях исполнения заявок и их отмены /// </summary> private void ExecutorOrdersThreadArea() { while (true) { try { if (_ordersToExecute != null && _ordersToExecute.Count != 0) { Order order; if (_ordersToExecute.TryDequeue(out order)) { lock (_serverLocker) { _Client.ExecuteOrder(order); } } } else if (_ordersToCansel != null && _ordersToCansel.Count != 0) { Order order; if (_ordersToCansel.TryDequeue(out order)) { lock (_serverLocker) { _Client.CanselOrder(order); } } } else { Thread.Sleep(1); } } catch (Exception error) { SendLogMessage(error.ToString(), LogMessageType.Error); } } }
public void CanselOrder(Order order) { _client.CanselOrder(order); }