Esempio n. 1
0
        public bool Seek(long offset)
        {
            bool result = true;

            SetSeeking(true);
            try
            {
                for (int i = 0; i < offset - 1; i++)
                {
                    if (ReadRecord() != FtReadRecordResult.NoMoreRecords)
                    {
                        RecordSeeked?.Invoke(this, EventArgs.Empty);
                    }
                    else
                    {
                        result = false;
                        break;
                    }
                }
            }
            finally
            {
                SetSeeking(false);
            }


            if (result)
            {
                result = ReadRecord() != FtReadRecordResult.NoMoreRecords;
            }

            return(result);
        }
Esempio n. 2
0
 public void SeekEnd()
 {
     SetSeeking(true);
     try
     {
         while (ReadRecord() != FtReadRecordResult.NoMoreRecords)
         {
             RecordSeeked?.Invoke(this, EventArgs.Empty);
         }
     }
     finally
     {
         SetSeeking(false);
     }
 }