public override MarketExtQuotes GetMarket_ExtQuotes(string symbol) {
TkCacheData cache = null;
foreach (TkCacheData c in _marketExtQuotes) {
if (c.Key == symbol) {
cache = c;
break;
}
}
// Add if not found
if (cache == null) {
cache = new TkCacheData();
cache.Key = symbol;
_marketExtQuotes.Add(cache);
}
TimeSpan ts = DateTime.Now - cache.AccessTime;
if (ts.TotalMilliseconds > CacheTimeout) {
RetryFunc(() => cache.Data = base.GetMarket_ExtQuotes(symbol), RetryCount, RetryDelay);
cache.AccessTime = DateTime.Now;
}
return (MarketExtQuotes)cache.Data;
}