private void TryFindTick() { CurrentTick currentTick = null; for (var i = 0; i < ProviderSimulator.NextSimulateSymbolId; i++) { var temp = currentTicks[i]; switch (temp.State) { case TickState.None: return; case TickState.Tick: if (currentTick == null || temp.TickIO.lUtcTime < currentTick.TickIO.lUtcTime) { currentTick = temp; } break; case TickState.Finish: break; } } if (currentTick == null) { return; } currentTick.State = TickState.None; var tick = currentTick.TickIO; var symbol = currentTick.Symbol; TrySendTick(symbol, tick); }
protected void ExtendCurrentTicks() { var length = currentTicks.Length == 0 ? 256 : currentTicks.Length * 2; Array.Resize(ref currentTicks, length); for (var i = 0; i < currentTicks.Length; i++) { if (currentTicks[i] == null) { currentTicks[i] = new CurrentTick(); } } }