public void Apply(object state) { ConsistencyCheckerTestCase.Item item = ((ConsistencyCheckerTestCase.Item)((Pair)state ).second); LocalObjectContainer db = ((LocalObjectContainer)((Pair)state).first); int id = (int)db.GetID(item); Slot slot = db.IdSystem().CommittedSlot(id); db.FreespaceManager().Free(new Slot(slot.Address() + 1, slot.Length())); }
private object GetFieldValue(int id, IList path) { for (int i = 0; i < path.Count - 1; ++i) { object obj = GetFieldValue(id, ((FieldMetadata)path[i])); if (null == obj) { return(null); } id = _container.GetID(_transaction, obj); } return(GetFieldValue(id, ((FieldMetadata)path[path.Count - 1]))); }
private void CheckInstanceOfCompare() { if (_member is ICompare) { _member = ((ICompare)_member).Compare(); LocalObjectContainer stream = Container(); _classMetadata = stream.ClassMetadataForReflectClass(stream.Reflector().ForObject (_member)); _key = stream.GetID(Transaction(), _member); if (_key == 0) { SetBytes(null); } else { SetBytes(stream.ReadBufferById(Transaction(), _key)); } } }