示例#1
0
        public async ValueTask Flush()
        {
            if (_LengthChanged)
            {
                await InnerStorage.Resize(Length);
            }
            foreach (var page in pages.Where(p => p.Value.Dirty))
            {
                await FlushPage(page.Value);
            }
            await InnerStorage.Flush();

            _LengthChanged = false;
        }
示例#2
0
 /// <summary>
 /// Make sure the underlying file can grow to write the data to commit
 /// </summary>
 /// <returns></returns>
 public async ValueTask ResizeInner()
 {
     await InnerStorage.Resize(Length);
 }