internal ProxyMemory(IMappedMemory parent, ulong offset, ulong size) { Offset = offset; Size = size; _parent = parent; Handle = new IntPtr(parent.Handle.ToInt64() + (long)offset); }
internal MemoryHandle(BufferPool pool, MemoryPool.Memory handle) { _handle = handle; BackingBuffer = pool._buffer; BackingMemory = pool._buffer.Memory.BackingMemory; MappedMemory = pool._buffer.Memory.MappedMemory != null ? new ProxyMemory(pool._buffer.Memory.MappedMemory, handle.Offset, handle.Size) : null; }
internal MemoryHandle(DeviceMemoryPool pool, MemoryPool.Memory handle) { _handle = handle; BackingMemory = pool._memory; MappedMemory = pool._mapped != null ? new ProxyMemory(pool._mapped, handle.Offset, handle.Size) : null; }