internal virtual void Add(AnyObjectId objectId) { UnpackedObjectCache.Table t = table; if (t.Add(objectId)) { } else { // The object either already exists in the table, or was // successfully added. Either way leave the table alone. // // The object won't fit into the table. Implement a crude // cache removal by just dropping the table away, but double // it in size for the next incarnation. // UnpackedObjectCache.Table n = new UnpackedObjectCache.Table(Math.Min(t.bits + 1, MAX_BITS)); n.Add(objectId); table = n; } }
public UnpackedObjectCache() { // size = 32 // size = 2048 table = new UnpackedObjectCache.Table(INITIAL_BITS); }
internal virtual void Clear() { table = new UnpackedObjectCache.Table(INITIAL_BITS); }
internal virtual void Add(AnyObjectId objectId) { UnpackedObjectCache.Table t = table; if (t.Add(objectId)) { } else { // The object either already exists in the table, or was // successfully added. Either way leave the table alone. // // The object won't fit into the table. Implement a crude // cache removal by just dropping the table away, but double // it in size for the next incarnation. // UnpackedObjectCache.Table n = new UnpackedObjectCache.Table(Math.Min(t.bits + 1, MAX_BITS)); n.Add(objectId); table = n; } }
public UnpackedObjectCache() { // size = 32 // size = 2048 table = new UnpackedObjectCache.Table(INITIAL_BITS); }
internal virtual void Clear() { table = new UnpackedObjectCache.Table(INITIAL_BITS); }