MCPcopy Create free account
hub / github.com/ethstorage/es-node / createEthStorage

Function createEthStorage

ethstorage/p2p/protocol/sync_test.go:188–214  ·  view source on GitHub ↗
(contract common.Address, shardIdxList []uint64, chunkSize, kvSize, kvEntries uint64,
	miner common.Address, encodeType uint64)

Source from the content-addressed store, hash-verified

186}
187
188func 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
217func makeKVStorage(contract common.Address, shards []uint64, chunkSize, kvSize, kvCount, lastKvIndex uint64,

Callers 9

TestSync_RequestL2RangeFunction · 0.70
TestSync_RequestL2ListFunction · 0.70
TestReadWriteFunction · 0.70
testSyncFunction · 0.70
TestAddPeerDuringSyncingFunction · 0.70
TestAddPeerAfterSyncDoneFunction · 0.70
TestFillEmptyFunction · 0.70

Calls 6

AddDataShardMethod · 0.95
ChunkSizeMethod · 0.95
AddDataFileMethod · 0.95
NewShardManagerFunction · 0.92
CreateFunction · 0.92
OpenDataFileFunction · 0.92

Tested by

no test coverage detected