internal void CommitWrittingTransaction(IRootNode artRoot) { lock (_writeLock) { _writingTransaction = null; if (_lastCommited.Dereference()) { _lastCommited.Dispose(); } _lastCommited = artRoot; TryDequeWaiterForWrittingTransaction(); } }
public void Dispose() { _root.Dispose(); var leaks = _allocator.QueryAllocations(); Assert.Equal(0ul, leaks.Count); }
internal void RevertWritingTransaction(IRootNode currentArtRoot) { lock (_writeLock) { currentArtRoot.Dispose(); _writingTransaction = null; TryDequeWaiterForWritingTransaction(); } }