(contract common.Address, shardIdxList []uint64, chunkSize, kvSize, kvEntries uint64, miner common.Address, encodeType uint64)
| 186 | } |
| 187 | |
| 188 | func createEthStorage(contract common.Address, shardIdxList []uint64, chunkSize, kvSize, kvEntries uint64, |
| 189 | miner common.Address, encodeType uint64) (*ethstorage.ShardManager, []string) { |
| 190 | sm := ethstorage.NewShardManager(contract, kvSize, kvEntries, chunkSize) |
| 191 | ethstorage.ContractToShardManager[contract] = sm |
| 192 | chunkPerKv := kvSize / chunkSize |
| 193 | |
| 194 | files := make([]string, 0) |
| 195 | for _, shardIdx := range shardIdxList { |
| 196 | sm.AddDataShard(shardIdx) |
| 197 | fileName := fmt.Sprintf(".\\ss%d.dat", shardIdx) |
| 198 | files = append(files, fileName) |
| 199 | startChunkId := shardIdx * chunkPerKv * kvEntries |
| 200 | _, err := ethstorage.Create(fileName, startChunkId, kvEntries*chunkPerKv, 0, kvSize, encodeType, miner, sm.ChunkSize()) |
| 201 | if err != nil { |
| 202 | lg.Crit("open failed", "error", err) |
| 203 | } |
| 204 | |
| 205 | var df *ethstorage.DataFile |
| 206 | df, err = ethstorage.OpenDataFile(fileName) |
| 207 | if err != nil { |
| 208 | lg.Crit("open failed", "error", err) |
| 209 | } |
| 210 | sm.AddDataFile(df) |
| 211 | } |
| 212 | |
| 213 | return sm, files |
| 214 | } |
| 215 | |
| 216 | // makeKVStorage generate a range of storage Data and its metadata |
| 217 | func makeKVStorage(contract common.Address, shards []uint64, chunkSize, kvSize, kvCount, lastKvIndex uint64, |
no test coverage detected