public void Dispose()
 {
     if (_unmanagedBuffer != null)
     {
         _memoryPool.Release(this);
         _unmanagedBuffer = null;
     }
 }
        public void DeleteAll(IUnmanagedMemory unmanagedMemory, Node *previousAddress, Node *ownAddress)
        {
            Node *nextAddress = MakeNextAddress(previousAddress);

            if ((long)nextAddress == 0)
            {
                return;
            }

            nextAddress->DeleteAll(unmanagedMemory, ownAddress, nextAddress);
            unmanagedMemory.FreeHGlobal((IntPtr)nextAddress);
        }
Exemple #3
0
 public XorLinkedList(IUnmanagedMemory unmanagedMemory)
 {
     this.unmanagedMemory = unmanagedMemory;
 }
Exemple #4
0
 public XorLinkedList()
 {
     this.unmanagedMemory = new UnmanagedMemory();
 }
 public PooledUnmanagedMemory(IUnmanagedMemory unmanagedBuffer, IUnmanagedMemoryService memoryPool)
 {
     _unmanagedBuffer.Position = 0;
     _unmanagedBuffer          = unmanagedBuffer;
     _memoryPool = memoryPool;
 }