X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fcmd%2Fnncp-check%2Fmain.go;h=2c9eafb4b6a5469b6b77516bf439b9542663ec9b;hb=0367cce2741e1ce6a89a49fd5c4e9df6005c9744;hp=ddb2949c6a5e9d9b9a55e5e57ea566dfc957bf1b;hpb=b6e9ce353036a99c5b98c121fee81632ea47f152;p=nncp.git diff --git a/src/cmd/nncp-check/main.go b/src/cmd/nncp-check/main.go index ddb2949..2c9eafb 100644 --- a/src/cmd/nncp-check/main.go +++ b/src/cmd/nncp-check/main.go @@ -1,6 +1,6 @@ /* NNCP -- Node to Node copy, utilities for store-and-forward data exchange -Copyright (C) 2016-2021 Sergey Matveev +Copyright (C) 2016-2022 Sergey Matveev This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,8 +24,9 @@ import ( "log" "os" "path/filepath" + "time" - "go.cypherpunks.ru/nncp/v6" + "go.cypherpunks.ru/nncp/v8" ) func usage() { @@ -38,6 +39,7 @@ func usage() { func main() { var ( nock = flag.Bool("nock", false, "Process .nock files") + cycle = flag.Uint("cycle", 0, "Repeat check after N seconds in infinite loop") cfgPath = flag.String("cfg", nncp.DefaultCfgPath, "Path to configuration file") nodeRaw = flag.String("node", "", "Process only that node") spoolPath = flag.String("spool", "", "Override path to spool") @@ -83,6 +85,7 @@ func main() { } } +Cycle: isBad := false for nodeId, node := range ctx.Neigh { if nodeOnly != nil && nodeId != *nodeOnly.Id { @@ -90,7 +93,7 @@ func main() { } if *nock { for job := range ctx.JobsNoCK(node.Id) { - if _, err = ctx.CheckNoCK(node.Id, job.HshValue); err != nil { + if _, err = ctx.CheckNoCK(node.Id, job.HshValue, nil); err != nil { pktName := nncp.Base32Codec.EncodeToString(job.HshValue[:]) log.Println(filepath.Join( ctx.Spool, @@ -105,6 +108,10 @@ func main() { isBad = true } } + if *cycle > 0 { + time.Sleep(time.Duration(*cycle) * time.Second) + goto Cycle + } if isBad { os.Exit(1) }