From a5b336bbaed02701d0a9860783b52ee66e3ec236 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Mon, 16 Dec 2019 21:59:43 +0300 Subject: [PATCH] Prefixed progress messages --- VERSION | 2 +- doc/install.texi | 2 +- doc/news.ru.texi | 9 +++++++++ doc/news.texi | 9 +++++++++ ports/nncp/Makefile | 2 +- src/check.go | 2 +- src/cmd/nncp-bundle/main.go | 12 ++++++------ src/cmd/nncp-reass/main.go | 24 ++++++++++++++++-------- src/cmd/nncp-xfer/main.go | 15 +++++++++------ src/progress.go | 12 +++++------- src/sp.go | 4 ++-- src/toss.go | 3 +-- src/tx.go | 14 +++++++------- 13 files changed, 68 insertions(+), 42 deletions(-) diff --git a/VERSION b/VERSION index 26d99a2..03f488b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5.2.1 +5.3.0 diff --git a/doc/install.texi b/doc/install.texi index 1c8497e..da94047 100644 --- a/doc/install.texi +++ b/doc/install.texi @@ -1,7 +1,7 @@ @node Installation @unnumbered Installation -@set VERSION 5.2.1 +@set VERSION 5.3.0 Possibly NNCP package already exists for your distribution: diff --git a/doc/news.ru.texi b/doc/news.ru.texi index 2e5d927..dc74fa1 100644 --- a/doc/news.ru.texi +++ b/doc/news.ru.texi @@ -1,6 +1,15 @@ @node Новости @section Новости +@node Релиз 5.3.0 +@subsection Релиз 5.3.0 +@itemize + +@item +Сообщения прогресса содержат префикс, поясняющий выполняемое действие. + +@end itemize + @node Релиз 5.2.1 @subsection Релиз 5.2.1 @itemize diff --git a/doc/news.texi b/doc/news.texi index 6cdc998..894a2ef 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -3,6 +3,15 @@ See also this page @ref{Новости, on russian}. +@node Release 5.3.0 +@section Release 5.3.0 +@itemize + +@item +Progress messages contain prefix, describing the running action. + +@end itemize + @node Release 5.2.1 @section Release 5.2.1 @itemize diff --git a/ports/nncp/Makefile b/ports/nncp/Makefile index 6dca46a..3b5109b 100644 --- a/ports/nncp/Makefile +++ b/ports/nncp/Makefile @@ -1,7 +1,7 @@ # $FreeBSD: head/net/nncp/Makefile 517819 2019-11-17 11:51:56Z dmgk $ PORTNAME= nncp -DISTVERSION= 5.2.1 +DISTVERSION= 5.3.0 CATEGORIES= net MASTER_SITES= http://www.nncpgo.org/download/ diff --git a/src/check.go b/src/check.go index 4c1f542..127e8c9 100644 --- a/src/check.go +++ b/src/check.go @@ -32,7 +32,7 @@ func Check(src io.Reader, checksum []byte, sds SDS, showPrgrs bool) (bool, error if err != nil { log.Fatalln(err) } - if _, err = CopyProgressed(hsh, bufio.NewReader(src), sds, showPrgrs); err != nil { + if _, err = CopyProgressed(hsh, bufio.NewReader(src), "check", sds, showPrgrs); err != nil { return false, err } return bytes.Compare(hsh.Sum(nil), checksum) == 0, nil diff --git a/src/cmd/nncp-bundle/main.go b/src/cmd/nncp-bundle/main.go index 0bca23f..f0fec55 100644 --- a/src/cmd/nncp-bundle/main.go +++ b/src/cmd/nncp-bundle/main.go @@ -153,7 +153,7 @@ func main() { log.Fatalln("Error writing tar header:", err) } if _, err = nncp.CopyProgressed( - tarWr, job.Fd, + tarWr, job.Fd, "Tx", nncp.SdsAdd(sds, nncp.SDS{ "pkt": nncp.ToBase32(job.HshValue[:]), "fullsize": job.Size, @@ -293,7 +293,7 @@ func main() { log.Fatalln("Error during writing:", err) } if _, err = nncp.CopyProgressed( - hsh, tarR, + hsh, tarR, "Rx", nncp.SdsAdd(sds, nncp.SDS{"fullsize": entry.Size}), ctx.ShowPrgrs, ); err != nil { @@ -341,7 +341,7 @@ func main() { if _, err = hsh.Write(pktEncBuf); err != nil { log.Fatalln("Error during writing:", err) } - if _, err = nncp.CopyProgressed(hsh, tarR, sds, ctx.ShowPrgrs); err != nil { + if _, err = nncp.CopyProgressed(hsh, tarR, "check", sds, ctx.ShowPrgrs); err != nil { log.Fatalln("Error during copying:", err) } if nncp.ToBase32(hsh.Sum(nil)) != pktName { @@ -356,7 +356,7 @@ func main() { if _, err = tmp.W.Write(pktEncBuf); err != nil { log.Fatalln("Error during writing:", err) } - if _, err = nncp.CopyProgressed(tmp.W, tarR, sds, ctx.ShowPrgrs); err != nil { + if _, err = nncp.CopyProgressed(tmp.W, tarR, "check", sds, ctx.ShowPrgrs); err != nil { log.Fatalln("Error during copying:", err) } if err = tmp.W.Flush(); err != nil { @@ -374,7 +374,7 @@ func main() { } } else { if *dryRun { - if _, err = nncp.CopyProgressed(ioutil.Discard, tarR, sds, ctx.ShowPrgrs); err != nil { + if _, err = nncp.CopyProgressed(ioutil.Discard, tarR, "Rx", sds, ctx.ShowPrgrs); err != nil { log.Fatalln("Error during copying:", err) } } else { @@ -386,7 +386,7 @@ func main() { if _, err = bufTmp.Write(pktEncBuf); err != nil { log.Fatalln("Error during writing:", err) } - if _, err = nncp.CopyProgressed(bufTmp, tarR, sds, ctx.ShowPrgrs); err != nil { + if _, err = nncp.CopyProgressed(bufTmp, tarR, "Rx", sds, ctx.ShowPrgrs); err != nil { log.Fatalln("Error during copying:", err) } if err = bufTmp.Flush(); err != nil { diff --git a/src/cmd/nncp-reass/main.go b/src/cmd/nncp-reass/main.go index 75aaf5a..7d6e1c9 100644 --- a/src/cmd/nncp-reass/main.go +++ b/src/cmd/nncp-reass/main.go @@ -144,10 +144,14 @@ func process(ctx *nncp.Ctx, path string, keep, dryRun, stdout, dumpMeta bool) bo if err != nil { log.Fatalln(err) } - if _, err = nncp.CopyProgressed(hsh, bufio.NewReader(fd), nncp.SDS{ - "pkt": chunkPath, - "fullsize": fi.Size(), - }, ctx.ShowPrgrs); err != nil { + if _, err = nncp.CopyProgressed( + hsh, bufio.NewReader(fd), "check", + nncp.SDS{ + "pkt": chunkPath, + "fullsize": fi.Size(), + }, + ctx.ShowPrgrs, + ); err != nil { log.Fatalln(err) } fd.Close() @@ -195,10 +199,14 @@ func process(ctx *nncp.Ctx, path string, keep, dryRun, stdout, dumpMeta bool) bo if err != nil { log.Fatalln("Can not stat file:", err) } - if _, err = nncp.CopyProgressed(dstW, bufio.NewReader(fd), nncp.SDS{ - "pkt": chunkPath, - "fullsize": fi.Size(), - }, ctx.ShowPrgrs); err != nil { + if _, err = nncp.CopyProgressed( + dstW, bufio.NewReader(fd), "reass", + nncp.SDS{ + "pkt": chunkPath, + "fullsize": fi.Size(), + }, + ctx.ShowPrgrs, + ); err != nil { log.Fatalln(err) } fd.Close() diff --git a/src/cmd/nncp-xfer/main.go b/src/cmd/nncp-xfer/main.go index df7acd3..bd00eb7 100644 --- a/src/cmd/nncp-xfer/main.go +++ b/src/cmd/nncp-xfer/main.go @@ -215,10 +215,14 @@ func main() { ctx.LogE("nncp-xfer", sds, err, "copy") w.CloseWithError(err) }() - if _, err = nncp.CopyProgressed(tmp.W, r, nncp.SdsAdd(sds, nncp.SDS{ - "pkt": filename, - "fullsize": sds["size"], - }), ctx.ShowPrgrs); err != nil { + if _, err = nncp.CopyProgressed( + tmp.W, r, "Rx", + nncp.SdsAdd(sds, nncp.SDS{ + "pkt": filename, + "fullsize": sds["size"], + }), + ctx.ShowPrgrs, + ); err != nil { ctx.LogE("nncp-xfer", sds, err, "copy") isBad = true } @@ -333,8 +337,7 @@ Tx: ctx.LogD("nncp-xfer", sds, "created") bufW := bufio.NewWriter(tmp) copied, err := nncp.CopyProgressed( - bufW, - bufio.NewReader(job.Fd), + bufW, bufio.NewReader(job.Fd), "Tx", nncp.SdsAdd(sds, nncp.SDS{"fullsize": job.Size}), ctx.ShowPrgrs, ) diff --git a/src/progress.go b/src/progress.go index d071857..4474cf5 100644 --- a/src/progress.go +++ b/src/progress.go @@ -21,7 +21,6 @@ import ( "fmt" "io" "os" - "strings" "sync" "time" @@ -82,6 +81,7 @@ func (pb ProgressBar) Kill() { func CopyProgressed( dst io.Writer, src io.Reader, + prgrsPrefix string, sds SDS, showPrgrs bool, ) (written int64, err error) { @@ -96,7 +96,7 @@ func CopyProgressed( written += int64(nw) if showPrgrs { sds["size"] = written - Progress(sds) + Progress(prgrsPrefix, sds) } } if ew != nil { @@ -118,13 +118,13 @@ func CopyProgressed( return } -func Progress(sds SDS) { - pkt := sds["pkt"].(string) +func Progress(prefix string, sds SDS) { var size int64 if sizeI, exists := sds["size"]; exists { size = sizeI.(int64) } fullsize := sds["fullsize"].(int64) + pkt := sds["pkt"].(string) progressBarsLock.RLock() pb, exists := progressBars[pkt] progressBarsLock.RUnlock() @@ -138,9 +138,7 @@ func Progress(sds SDS) { if len(what) >= 52 { // Base32 encoded what = what[:16] + ".." + what[len(what)-16:] } - if xx, exists := sds["xx"]; exists { - what = strings.Title(xx.(string)) + " " + what - } + what = prefix + " " + what pb.Render(what, size) if size >= fullsize { pb.Kill() diff --git a/src/sp.go b/src/sp.go index fa853b0..64b154f 100644 --- a/src/sp.go +++ b/src/sp.go @@ -634,7 +634,7 @@ func (state *SPState) StartWorkers( sdsp["size"] = int64(ourSize) sdsp["fullsize"] = fullSize if state.Ctx.ShowPrgrs { - Progress(sdsp) + Progress("Tx", sdsp) } state.Lock() if len(state.queueTheir) > 0 && *state.queueTheir[0].freq.Hash == *freq.Hash { @@ -878,7 +878,7 @@ func (state *SPState) ProcessSP(payload []byte) ([][]byte, error) { sdsp["size"] = int64(ourSize) sdsp["fullsize"] = int64(state.infosTheir[*file.Hash].Size) if state.Ctx.ShowPrgrs { - Progress(sdsp) + Progress("Rx", sdsp) } if state.infosTheir[*file.Hash].Size != ourSize { state.RUnlock() diff --git a/src/toss.go b/src/toss.go index 6abf278..67a7311 100644 --- a/src/toss.go +++ b/src/toss.go @@ -224,8 +224,7 @@ func (ctx *Ctx) Toss( ctx.LogD("rx", sds, "created") bufW := bufio.NewWriter(tmp) if _, err = CopyProgressed( - bufW, - pipeR, + bufW, pipeR, "Rx file", SdsAdd(sds, SDS{"fullsize": sds["size"]}), ctx.ShowPrgrs, ); err != nil { diff --git a/src/tx.go b/src/tx.go index 67bb659..1281841 100644 --- a/src/tx.go +++ b/src/tx.go @@ -108,8 +108,8 @@ func (ctx *Ctx) Tx( } go func() { _, err := CopyProgressed( - tmp.W, pipeR, - SDS{"xx": string(TTx), "pkt": pktName, "fullsize": curSize}, + tmp.W, pipeR, "Tx", + SDS{"pkt": pktName, "fullsize": curSize}, ctx.ShowPrgrs, ) errs <- err @@ -532,11 +532,11 @@ func (ctx *Ctx) TxTrns(node *Node, nice uint8, size int64, src io.Reader) error if err != nil { return err } - if _, err = CopyProgressed(tmp.W, src, SDS{ - "xx": string(TTx), - "pkt": node.Id.String(), - "fullsize": size, - }, ctx.ShowPrgrs); err != nil { + if _, err = CopyProgressed( + tmp.W, src, "Tx trns", + SDS{"pkt": node.Id.String(), "fullsize": size}, + ctx.ShowPrgrs, + ); err != nil { return err } nodePath := filepath.Join(ctx.Spool, node.Id.String()) -- 2.44.0