public virtual void Rollback(IFreespaceManager freespaceManager) { if (IsFreeOnRollback()) { freespaceManager.Free(_newSlot); } }
private void Apply(IList toFree) { for (IEnumerator slotIter = toFree.GetEnumerator(); slotIter.MoveNext();) { Slot slot = ((Slot)slotIter.Current); _freespaceManager.Free(slot); } toFree.Clear(); }
protected virtual void Free(IFreespaceManager freespaceManager, Slot slot) { if (slot.IsNull()) { return; } if (freespaceManager == null) { return; } freespaceManager.Free(slot); }
public virtual void Free(Slot slot) { if (slot.IsNull()) { return; } // TODO: This should really be an IllegalArgumentException but old database files // with index-based FreespaceManagers appear to deliver zeroed slots. // throw new IllegalArgumentException(); if (_freespaceManager == null) { // Can happen on early free before freespacemanager // is up, during conversion. return; } if (DTrace.enabled) { DTrace.FileFree.LogLength(slot.Address(), slot.Length()); } _freespaceManager.Free(slot); }
public void Visit(object obj) { fm.Free((Slot)obj); }
public virtual void Free(Slot slot) { _delegate.Free(_blockConverter.ToBlockedLength(slot)); }