]> Cypherpunks.ru repositories - nncp.git/blobdiff - src/cmd/nncp-exec/main.go
Use explicitly larger bufio's buffer
[nncp.git] / src / cmd / nncp-exec / main.go
index 11a99073bb441ab06642ae27f1ebb72babe555d6..aa2ab74895cce66d152883df6c6234521f4aff5f 100644 (file)
@@ -1,6 +1,6 @@
 /*
 NNCP -- Node to Node copy, utilities for store-and-forward data exchange
-Copyright (C) 2016-2021 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2016-2022 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
@@ -26,7 +26,7 @@ import (
        "os"
        "strings"
 
-       "go.cypherpunks.ru/nncp/v7"
+       "go.cypherpunks.ru/nncp/v8"
 )
 
 func usage() {
@@ -40,12 +40,12 @@ func usage() {
 
 func main() {
        var (
-               useTmp       = flag.Bool("use-tmp", false, "Use temporary file, instead of memory buffer")
                noCompress   = flag.Bool("nocompress", false, "Do not compress input data")
                cfgPath      = flag.String("cfg", nncp.DefaultCfgPath, "Path to configuration file")
                niceRaw      = flag.String("nice", nncp.NicenessFmt(nncp.DefaultNiceExec), "Outbound packet niceness")
                replyNiceRaw = flag.String("replynice", nncp.NicenessFmt(nncp.DefaultNiceFile), "Possible reply packet niceness")
                minSize      = flag.Uint64("minsize", 0, "Minimal required resulting packet size, in KiB")
+               argMaxSize   = flag.Uint64("maxsize", 0, "Maximal allowable resulting packet size, in KiB")
                viaOverride  = flag.String("via", "", "Override Via path to destination node")
                spoolPath    = flag.String("spool", "", "Override path to spool")
                logPath      = flag.String("log", "", "Override path to logfile")
@@ -111,6 +111,11 @@ func main() {
                }
        }
 
+       maxSize := int64(nncp.MaxFileSize)
+       if *argMaxSize > 0 {
+               maxSize = int64(*argMaxSize) * 1024
+       }
+
        nncp.ViaOverride(*viaOverride, ctx, node)
        ctx.Umask()
 
@@ -120,9 +125,9 @@ func main() {
                replyNice,
                flag.Args()[1],
                flag.Args()[2:],
-               bufio.NewReader(os.Stdin),
+               bufio.NewReaderSize(os.Stdin, nncp.MTHBlockSize),
                int64(*minSize)*1024,
-               *useTmp,
+               maxSize,
                *noCompress,
                areaId,
        ); err != nil {