From f1511737680385da81972bb76ec1ba1f2b6c46a1 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 27 Jan 2017 23:31:03 +0100 Subject: parse file-haser config as json from stdin diff --git a/sample/file-hasher-requst.json b/sample/file-hasher-requst.json new file mode 100644 index 0000000..4ef0497 --- /dev/null +++ b/sample/file-hasher-requst.json @@ -0,0 +1,10 @@ +{ + "threads": 2, + "dir": [ + "../../../../Music/Dead Man's Bones - Dead Man's Bones (2009)", + "../../../../Music/Hozier - Hozier" + ], + "m3u": [ + "../../../../Music/Hozier - From Eden/00-hozier-from_eden_ep-web-2014.m3u" + ] +} diff --git a/src/file-hasher/hasher.go b/src/file-hasher/hasher.go index afc35fd..27574f9 100644 --- a/src/file-hasher/hasher.go +++ b/src/file-hasher/hasher.go @@ -90,7 +90,7 @@ func (h *Hasher) collectHashes(C <-chan string) (wg *sync.WaitGroup) { } func (h *Hasher) ComputeHashes(w Walker) (err error) { - C := make(chan string, 10) + C := make(chan string, h.numThreads*2) wg := h.collectHashes(C) @@ -106,5 +106,9 @@ func (h *Hasher) ComputeHashes(w Walker) (err error) { func NewHasher(numThreads uint, stdlog *log.Logger) (h *Hasher) { h = &Hasher{numThreads: numThreads, stdlog: stdlog} h.Files = make(map[string]string) + if h.numThreads < 1 { + h.numThreads = 4 + } + stdlog.Printf("*** Created blake2b based hasher (%d threads)", h.numThreads) return } diff --git a/src/file-hasher/main.go b/src/file-hasher/main.go index 3e32b63..f360705 100644 --- a/src/file-hasher/main.go +++ b/src/file-hasher/main.go @@ -30,45 +30,56 @@ import ( "time" ) -const ( - RD_CONF = "/etc/rd.conf" -) +type Request struct { + NumThreads uint `json:"threads"` + Directories []string `json:"dir"` + M3UPlaylists []string `json:"m3u"` +} func main() { - if len(os.Args) < 2 { - log.Fatal("Usage: file-hasher [