]> Cypherpunks.ru repositories - nncp.git/blobdiff - src/cypherpunks.ru/nncp/humanizer.go
Forbid any later GNU GPL versions autousage
[nncp.git] / src / cypherpunks.ru / nncp / humanizer.go
index 7b6f5b6602ad65e66d4baf1083667feac5bd119d..5c6989526841fdf4b861216cec4621e3b1edae20 100644 (file)
@@ -1,11 +1,10 @@
 /*
 NNCP -- Node to Node copy
-Copyright (C) 2016-2017 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2016-2019 Sergey Matveev <stargrave@stargrave.org>
 
 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
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, version 3 of the License.
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -76,18 +75,18 @@ func (ctx *Ctx) Humanize(s string) string {
                switch sds["type"] {
                case "file":
                        msg = fmt.Sprintf(
-                               "File %s (%s) transfer to %s:%s (nice %s): %s",
-                               sds["src"], size, nodeS, sds["dst"], sds["nice"], rem,
+                               "File %s (%s) transfer to %s:%s: %s",
+                               sds["src"], size, nodeS, sds["dst"], rem,
                        )
                case "freq":
                        msg = fmt.Sprintf(
-                               "File request from %s:%s to %s (nice %s): %s",
-                               nodeS, sds["src"], sds["dst"], sds["nice"], rem,
+                               "File request from %s:%s to %s: %s",
+                               nodeS, sds["src"], sds["dst"], rem,
                        )
-               case "mail":
+               case "exec":
                        msg = fmt.Sprintf(
-                               "Mail to %s@%s (%s) (nice %s): %s",
-                               nodeS, strings.Replace(sds["dst"], " ", ",", -1), size, sds["nice"], rem,
+                               "Exec to %s@%s (%s): %s",
+                               nodeS, sds["dst"], size, rem,
                        )
                case "trns":
                        msg = fmt.Sprintf(
@@ -102,10 +101,10 @@ func (ctx *Ctx) Humanize(s string) string {
                }
        case "rx":
                switch sds["type"] {
-               case "mail":
+               case "exec":
                        msg = fmt.Sprintf(
-                               "Got mail from %s to %s (%s)",
-                               nodeS, strings.Replace(sds["dst"], " ", ",", -1), size,
+                               "Got exec from %s to %s (%s)",
+                               nodeS, sds["dst"], size,
                        )
                case "file":
                        msg = fmt.Sprintf("Got file %s (%s) from %s", sds["dst"], size, nodeS)
@@ -127,11 +126,11 @@ func (ctx *Ctx) Humanize(s string) string {
                if err, exists := sds["err"]; exists {
                        msg += ": " + err
                }
-       case "toss-check":
-               msg = fmt.Sprintf(
-                       "Integrity check: %s/%s/%s %s",
-                       sds["node"], sds["xx"], sds["pkt"], sds["err"],
-               )
+       case "check":
+               msg = fmt.Sprintf("Checking: %s/%s/%s", sds["node"], sds["xx"], sds["pkt"])
+               if err, exists := sds["err"]; exists {
+                       msg += fmt.Sprintf(" %s", err)
+               }
        case "nncp-xfer":
                switch sds["xx"] {
                case "rx":
@@ -149,9 +148,30 @@ func (ctx *Ctx) Humanize(s string) string {
                }
                if err, exists := sds["err"]; exists {
                        msg += ": " + err
+               } else {
+                       msg += " " + rem
                }
-       case "daemon":
-               msg = fmt.Sprintf("Daemon listening on %s", sds["bind"])
+       case "nncp-bundle":
+               switch sds["xx"] {
+               case "rx":
+                       msg = "Bundle transfer, received from"
+               case "tx":
+                       msg = "Bundle transfer, sent to"
+               default:
+                       return s
+               }
+               if nodeS != "" {
+                       msg += " node " + nodeS
+               }
+               msg += " " + sds["pkt"]
+               if size != "" {
+                       msg += fmt.Sprintf(" (%s)", size)
+               }
+               if err, exists := sds["err"]; exists {
+                       msg += ": " + err
+               }
+       case "nncp-rm":
+               msg += "removing " + sds["file"]
        case "call-start":
                msg = fmt.Sprintf("Connected to %s", nodeS)
        case "call-finish":
@@ -177,7 +197,30 @@ func (ctx *Ctx) Humanize(s string) string {
                        humanize.IBytes(uint64(rx)), humanize.IBytes(uint64(rxs)),
                        humanize.IBytes(uint64(tx)), humanize.IBytes(uint64(txs)),
                )
-       case "llp-infos":
+       case "sp-info":
+               nice, err := NicenessParse(sds["nice"])
+               if err != nil {
+                       return s
+               }
+               msg = fmt.Sprintf(
+                       "Packet %s (%s) (nice %s)",
+                       sds["hash"],
+                       size,
+                       NicenessFmt(nice),
+               )
+               offsetParsed, err := strconv.ParseUint(sds["offset"], 10, 64)
+               if err != nil {
+                       return s
+               }
+               sizeParsed, err := strconv.ParseUint(sds["size"], 10, 64)
+               if err != nil {
+                       return s
+               }
+               msg += fmt.Sprintf(": %d%%", 100*offsetParsed/sizeParsed)
+               if len(rem) > 0 {
+                       msg += ": " + rem
+               }
+       case "sp-infos":
                switch sds["xx"] {
                case "rx":
                        msg = fmt.Sprintf("%s has got for us: ", nodeS)
@@ -187,12 +230,14 @@ func (ctx *Ctx) Humanize(s string) string {
                        return s
                }
                msg += fmt.Sprintf("%s packets, %s", sds["pkts"], size)
-       case "llp-file":
+       case "sp-process":
+               msg = fmt.Sprintf("%s has %s (%s): %s", nodeS, sds["hash"], size, rem)
+       case "sp-file":
                switch sds["xx"] {
                case "rx":
-                       msg = "Got file "
+                       msg = "Got packet "
                case "tx":
-                       msg = "Sent file "
+                       msg = "Sent packet "
                default:
                        return s
                }
@@ -211,15 +256,36 @@ func (ctx *Ctx) Humanize(s string) string {
                        humanize.IBytes(uint64(sizeParsed)),
                        humanize.IBytes(uint64(fullsize)),
                )
-       case "llp-done":
+       case "sp-done":
                switch sds["xx"] {
                case "rx":
-                       msg = fmt.Sprintf("File %s is retreived (%s)", sds["hash"], size)
+                       msg = fmt.Sprintf("Packet %s is retreived (%s)", sds["hash"], size)
                case "tx":
-                       msg = fmt.Sprintf("File %s is sent", sds["hash"])
+                       msg = fmt.Sprintf("Packet %s is sent", sds["hash"])
                default:
                        return s
                }
+       case "nncp-reass":
+               chunkNum, exists := sds["chunk"]
+               if exists {
+                       msg = fmt.Sprintf(
+                               "Reassembling chunked file \"%s\" (chunk %s): %s",
+                               sds["path"],
+                               chunkNum,
+                               rem,
+                       )
+               } else {
+                       msg = fmt.Sprintf(
+                               "Reassembling chunked file \"%s\": %s",
+                               sds["path"],
+                               rem,
+                       )
+               }
+               if err, exists := sds["err"]; exists {
+                       msg += ": " + err
+               }
+       case "lockdir":
+               msg = fmt.Sprintf("Acquire lock for %s: %s", sds["path"], sds["err"])
        default:
                return s
        }