public void TestFlush() { long fileSize = Random.Next(3 * 1024 * 1024); int cut = Random.Next((int)fileSize); var file = new FileInfo(Path.GetTempFileName()); using (FileStream raf = new FileStream(file.FullName, FileMode.Open, FileAccess.ReadWrite)) using (var fc = MemoryMappedFile.CreateFromFile(raf, null, fileSize, MemoryMappedFileAccess.ReadWrite, #if FEATURE_MEMORYMAPPEDFILESECURITY null, #endif HandleInheritability.None, false)) { MemoryMappedViewByteBuffer mbb = fc.CreateViewByteBuffer(cut, fileSize - cut, MemoryMappedFileAccess.ReadWrite); mbb.Flush(); } // improve chance that mapped buffer will be unmapped GC.Collect(); DeleteFile(file); }
public void TestZeroMap() { long fileSize = Random.Next(1024 * 1024); int cut = Random.Next((int)fileSize); var file = new FileInfo(Path.GetTempFileName()); using (FileStream raf = new FileStream(file.FullName, FileMode.Open, FileAccess.ReadWrite)) using (var fc = MemoryMappedFile.CreateFromFile(raf, null, fileSize, MemoryMappedFileAccess.ReadWrite, #if !NETSTANDARD null, #endif HandleInheritability.None, false)) { MemoryMappedViewByteBuffer mbb = fc.CreateViewByteBuffer(cut, 0, MemoryMappedFileAccess.ReadWrite); mbb.Flush(); } // improve chance that mapped buffer will be unmapped GC.Collect(); Thread.Sleep(500); DeleteFile(file); }
public void TestZeroMap() //"Awaits fix: https://github.com/xamarin/xamarin-android/issues/5423" { long fileSize = Random.Next(1024 * 1024); int cut = Random.Next((int)fileSize); var file = new FileInfo(Path.GetTempFileName()); using (FileStream raf = new FileStream(file.FullName, FileMode.Open, FileAccess.ReadWrite)) using (var fc = MemoryMappedFile.CreateFromFile(raf, null, fileSize, MemoryMappedFileAccess.ReadWrite, #if FEATURE_MEMORYMAPPEDFILESECURITY null, #endif HandleInheritability.None, false)) { MemoryMappedViewByteBuffer mbb = fc.CreateViewByteBuffer(cut, 0, MemoryMappedFileAccess.ReadWrite); mbb.Flush(); } // improve chance that mapped buffer will be unmapped GC.Collect(); Thread.Sleep(500); DeleteFile(file); }