示例#1
0
 protected override bool ReadNext(TKey key, TValue value)
 {
     if (!m_timedOut && m_firstTableScanner != null)
     {
         if (m_keyMatchIsUniverse)
         {
             if (m_firstTableScanner.ReadWhile(key, value, m_readWhileUpperBounds))
             {
                 m_pointCount++;
                 if (m_pointCount > 10000)
                 {
                     m_workerThreadSynchronization.PulseSafeToCallback();
                     Interlocked.Add(ref Stats.PointsReturned, m_pointCount);
                     m_pointCount = 0;
                 }
                 return(true);
             }
         }
         else
         {
             if (m_firstTableScanner.ReadWhile(key, value, m_readWhileUpperBounds, m_keyMatchFilter))
             {
                 m_pointCount++;
                 if (m_pointCount > 10000)
                 {
                     m_workerThreadSynchronization.PulseSafeToCallback();
                     Interlocked.Add(ref Stats.PointsReturned, m_pointCount);
                     m_pointCount = 0;
                 }
                 return(true);
             }
         }
     }
     return(ReadCatchAll(key, value));
 }
示例#2
0
 protected override bool ReadNext(TKey key, TValue value)
 {
     if (m_firstTableScanner != null)
     {
         if (m_firstTableScanner.ReadWhile(key, value, m_readWhileUpperBounds))
         {
             return(true);
         }
     }
     return(ReadCatchAll(key, value));
 }