diff options
author | n-peugnet <n.peugnet@free.fr> | 2021-08-31 18:08:14 +0200 |
---|---|---|
committer | n-peugnet <n.peugnet@free.fr> | 2021-08-31 18:08:14 +0200 |
commit | 72ec5a391646014531727fb3a71987d87b8a6933 (patch) | |
tree | f4e7050ba2fec9b8d947e1203929fbd065d518c7 /repo.go | |
parent | e207ff4759e9e2aba9b4938f54ed2f31d362f7ee (diff) | |
download | dna-backup-72ec5a391646014531727fb3a71987d87b8a6933.tar.gz dna-backup-72ec5a391646014531727fb3a71987d87b8a6933.zip |
split extractTempChunks into 2 funcs
Diffstat (limited to 'repo.go')
-rw-r--r-- | repo.go | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -321,10 +321,10 @@ func (r *Repo) matchStream(stream io.Reader, fingerprints FingerprintMap) []Chun return chunks } -// extractTempChunks extracts temporary chunks from an array of chunks. +// mergeTempChunks joins temporary partial chunks from an array of chunks if possible. // If a chunk is smaller than the size required to calculate a super-feature, // it is then appended to the previous consecutive temporary chunk if it exists. -func extractTempChunks(chunks []Chunk) (ret []Chunk) { +func mergeTempChunks(chunks []Chunk) (ret []Chunk) { var prev *TempChunk var curr *TempChunk for _, c := range chunks { @@ -335,6 +335,7 @@ func extractTempChunks(chunks []Chunk) (ret []Chunk) { } else if curr != nil { ret = append(ret, curr) } + ret = append(ret, c) curr = nil prev = nil } else { @@ -351,6 +352,16 @@ func extractTempChunks(chunks []Chunk) (ret []Chunk) { return } +func extractTempChunks(chunks []Chunk) (ret []*TempChunk) { + for _, c := range chunks { + tmp, isTmp := c.(*TempChunk) + if isTmp { + ret = append(ret, tmp) + } + } + return +} + func writeFile(filePath string, object interface{}) error { file, err := os.Create(filePath) if err == nil { |