LoadFileData loads the file data into memory.
()
| 83 | |
| 84 | // LoadFileData loads the file data into memory. |
| 85 | func (e *Encoder) LoadFileData() error { |
| 86 | var recoverySet []fileID |
| 87 | recoverySetInfos := make(map[fileID]encoderInputFileInfo) |
| 88 | |
| 89 | for i, relPath := range e.relFilePaths { |
| 90 | path := filepath.Join(e.basePath, relPath) |
| 91 | data, err := e.fileIO.ReadFile(path) |
| 92 | e.delegate.OnDataFileLoad(i+1, len(e.relFilePaths), path, len(data), err) |
| 93 | if err != nil { |
| 94 | return err |
| 95 | } |
| 96 | |
| 97 | fileID, fileDescriptionPacket, ifscPacket, dataShards := computeDataFileInfo(e.sliceByteCount, relPath, data) |
| 98 | recoverySet = append(recoverySet, fileID) |
| 99 | recoverySetInfos[fileID] = encoderInputFileInfo{ |
| 100 | fileDescriptionPacket, ifscPacket, dataShards, |
| 101 | } |
| 102 | } |
| 103 | |
| 104 | sort.Slice(recoverySet, func(i, j int) bool { |
| 105 | return fileIDLess(recoverySet[i], recoverySet[j]) |
| 106 | }) |
| 107 | |
| 108 | e.recoverySet = recoverySet |
| 109 | e.recoverySetInfos = recoverySetInfos |
| 110 | return nil |
| 111 | } |
| 112 | |
| 113 | // ComputeParityData computes the parity data for the files. |
| 114 | func (e *Encoder) ComputeParityData() error { |
nothing calls this directly
no test coverage detected