mirror of
https://github.com/JaCoB1123/dupe-finder.git
synced 2025-05-18 22:21:55 +02:00
Remove IncomingWorker
This commit is contained in:
parent
c885c03130
commit
1144e97045
61
filesmap.go
61
filesmap.go
@ -20,8 +20,6 @@ type FilesMap struct {
|
|||||||
|
|
||||||
FilesHashing chan fileEntry
|
FilesHashing chan fileEntry
|
||||||
|
|
||||||
FilesIncoming chan fileEntry
|
|
||||||
|
|
||||||
FilesHashed chan fileEntry
|
FilesHashed chan fileEntry
|
||||||
|
|
||||||
progress *mpb.Progress
|
progress *mpb.Progress
|
||||||
@ -33,39 +31,14 @@ type FilesMap struct {
|
|||||||
|
|
||||||
func newFilesMap() *FilesMap {
|
func newFilesMap() *FilesMap {
|
||||||
return &FilesMap{
|
return &FilesMap{
|
||||||
FilesBySize: map[int64]string{},
|
FilesBySize: map[int64]string{},
|
||||||
FilesByHash: map[string][]string{},
|
FilesByHash: map[string][]string{},
|
||||||
FilesHashed: make(chan fileEntry),
|
FilesHashed: make(chan fileEntry, 100000),
|
||||||
FilesIncoming: make(chan fileEntry, 100000),
|
FilesHashing: make(chan fileEntry),
|
||||||
FilesHashing: make(chan fileEntry),
|
progress: mpb.New(mpb.WithWidth(64)),
|
||||||
progress: mpb.New(mpb.WithWidth(64)),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (fm *FilesMap) IncomingWorker() {
|
|
||||||
for file := range fm.FilesIncoming {
|
|
||||||
fm.incomingBar.Increment()
|
|
||||||
if *verbose {
|
|
||||||
fmt.Println("Incoming", file.path)
|
|
||||||
}
|
|
||||||
|
|
||||||
prevFile, ok := fm.FilesBySize[file.size]
|
|
||||||
if !ok {
|
|
||||||
fm.FilesBySize[file.size] = file.path
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if prevFile != "" {
|
|
||||||
fm.FilesHashing <- fileEntry{prevFile, file.size, ""}
|
|
||||||
}
|
|
||||||
|
|
||||||
fm.FilesBySize[file.size] = ""
|
|
||||||
|
|
||||||
fm.FilesHashing <- file
|
|
||||||
}
|
|
||||||
close(fm.FilesHashing)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fm *FilesMap) HashingWorker(wg *sync.WaitGroup) {
|
func (fm *FilesMap) HashingWorker(wg *sync.WaitGroup) {
|
||||||
for file := range fm.FilesHashing {
|
for file := range fm.FilesHashing {
|
||||||
if *verbose {
|
if *verbose {
|
||||||
@ -117,19 +90,37 @@ func (fm *FilesMap) WalkDirectories() int {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if *minSize > info.Size() {
|
size := info.Size()
|
||||||
|
if *minSize > size {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
fm.FilesIncoming <- fileEntry{path, info.Size(), ""}
|
fm.incomingBar.Increment()
|
||||||
countFiles++
|
countFiles++
|
||||||
fm.incomingBar.SetTotal(int64(countFiles), false)
|
fm.incomingBar.SetTotal(int64(countFiles), false)
|
||||||
|
if *verbose {
|
||||||
|
fmt.Println("Incoming", path)
|
||||||
|
}
|
||||||
|
|
||||||
|
prevFile, ok := fm.FilesBySize[size]
|
||||||
|
if !ok {
|
||||||
|
fm.FilesBySize[size] = path
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if prevFile != "" {
|
||||||
|
fm.FilesHashing <- fileEntry{prevFile, size, ""}
|
||||||
|
}
|
||||||
|
|
||||||
|
fm.FilesBySize[size] = ""
|
||||||
|
|
||||||
|
fm.FilesHashing <- fileEntry{path, info.Size(), ""}
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fm.incomingBar.SetTotal(int64(countFiles), true)
|
fm.incomingBar.SetTotal(int64(countFiles), true)
|
||||||
close(fm.FilesIncoming)
|
close(fm.FilesHashing)
|
||||||
return countFiles
|
return countFiles
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user