Example #1
0
 public bool TryReadTick(TickIO tickIO)
 {
     if (!isInitialized)
     {
         return(false);
     }
     if (isLegacy)
     {
         return(legacy.TryReadTick(tickIO));
     }
     if (tickCount > MaxCount || endOfData)
     {
         return(false);
     }
     try
     {
         do
         {
             tickIO.SetSymbol(lSymbol);
             if (!fileBlock.TryReadTick(tickIO))
             {
                 ReadNextTickBlock();
                 if (!fileBlock.TryReadTick(tickIO))
                 {
                     throw new InvalidOperationException("Unable to write the first tick in a new block.");
                 }
             }
             dataVersion = fileBlock.DataVersion;
             if (tickIO.lUtcTime > EndTime.Internal)
             {
                 ReportEndOfData();
                 return(false);
             }
             tickCount++;
         } while (tickIO.UtcTime < StartTime);
         return(true);
     }
     catch (EndOfStreamException ex)
     {
         ReportEndOfData();
         return(false);
     }
 }