private void ThreadRun()
{
Console.WriteLine($"{DateTime.Now} Data manager thread started: Framework = {this.framework.Name} Clock = {this.framework.Clock.GetModeAsString()}");
var pipe = this.framework.EventBus.HistoricalPipe;
while (!this.exit)
{
if (!pipe.IsEmpty())
{
var e = pipe.Read();
byte typeId = e.TypeId;
switch (typeId)
{
case EventType.HistoricalData:
this.OnHistoricalData((HistoricalData) e);
break;
case EventType.HistoricalDataEnd:
this.OnHistoricalDataEnd((HistoricalDataEnd) e);
break;
case EventType.OnQueueOpened:
case EventType.OnQueueClosed:
break;
default:
Console.WriteLine($"DataManager::ThreadRun Error. Unknown event type : {e.TypeId}");
break;
}
this.framework.EventManager.Dispatcher.OnEvent(e);
}
else
Thread.Sleep(1);
}
Console.WriteLine($"{DateTime.Now} Data manager thread stopped: Framework = {this.framework.Name} Clock = {this.framework.Clock.GetModeAsString()}");
}