public static Db4objects.Db4o.Internal.Freespace.AbstractFreespaceManager CreateNew (LocalObjectContainer file, byte systemType) { systemType = CheckType(systemType); int unblockedDiscardLimit = file.ConfigImpl.DiscardFreeSpace(); int blockedDiscardLimit = unblockedDiscardLimit == int.MaxValue ? unblockedDiscardLimit : file.BlockConverter().BytesToBlocks(unblockedDiscardLimit); IProcedure4 slotFreedCallback = new _IProcedure4_50(file); switch (systemType) { case FmIx: { return new FreespaceManagerIx(blockedDiscardLimit); } case FmBtree: { return new BTreeFreespaceManager(file, slotFreedCallback, blockedDiscardLimit); } default: { return new InMemoryFreespaceManager(slotFreedCallback, blockedDiscardLimit); break; } } }
public static Db4objects.Db4o.Internal.Freespace.AbstractFreespaceManager CreateNew (LocalObjectContainer file, byte systemType) { systemType = CheckType(systemType); int unblockedDiscardLimit = file.ConfigImpl.DiscardFreeSpace(); int blockedDiscardLimit = unblockedDiscardLimit == int.MaxValue ? unblockedDiscardLimit : file.BlockConverter().BytesToBlocks(unblockedDiscardLimit); IProcedure4 slotFreedCallback = new _IProcedure4_50(file); switch (systemType) { case FmIx: { return(new FreespaceManagerIx(blockedDiscardLimit)); } case FmBtree: { return(new BTreeFreespaceManager(file, slotFreedCallback, blockedDiscardLimit)); } default: { return(new InMemoryFreespaceManager(slotFreedCallback, blockedDiscardLimit)); break; } } }