internal partial void Init() { if (_initialized) { return; } var dicInfo = new DirectoryInfo(_rootFolder); if (!dicInfo.Exists) { dicInfo.Create(); } var dicList = dicInfo.GetDirectories(); for (int i = 0; i < dicList.Length; i++) { var item = new BlockManager(dicList[i]); item.LoadOrCreate(); _allBlocks.Add(item); } if (_allBlocks.Count == 0) { CreateBlock(); } _initialized = true; }
/// <summary> /// create a block, call this method when block not exists or all block was full /// </summary> private BlockManager CreateBlock() { var item = new BlockManager(new DirectoryInfo(_rootFolder).CreateSubdirectory($"{LuanNiao.Core.IDGen.GetInstance().NextId()}")); item.LoadOrCreate(); _allBlocks.Add(item); return(item); }