Esempio n. 1
0
 public MMapBlockCacheMemory(MMapBlockCache blockCache, FileIdentifier fileId, int blockId, IntPtr ptr)
 {
     _blockCache = blockCache;
     _fileId     = fileId;
     _blockId    = blockId;
     _ptr        = IntPtr.Add(ptr, blockId * FileConsts.PageSize);
 }
Esempio n. 2
0
        public unsafe MMapBlockCacheFile(string fileName, int blockCount, FileIdentifier fileId, MMapBlockCache parentCache)
        {
            _blockCount  = blockCount;
            _fileId      = fileId;
            _parentCache = parentCache;
            _fileName    = fileName;
            _mappedFile  = MemoryMappedFile.CreateFromFile(_fileName);

            _mappedView = _mappedFile.CreateViewAccessor();
            byte *ptr = null;

            _mappedView.SafeMemoryMappedViewHandle.AcquirePointer(ref ptr);
            _ptr = (IntPtr)ptr;
        }