From 5e04b84ee94adbaaa7903cf604c845ff2ee947be Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sat, 17 Feb 2018 11:27:14 +0300 Subject: [PATCH] Take in account FreqMinSize/FreqChunked options --- doc/news.ru.texi | 5 ++ doc/news.texi | 5 ++ src/cypherpunks.ru/nncp/cmd/nncp-file/main.go | 47 +++++++++++++------ 3 files changed, 42 insertions(+), 15 deletions(-) diff --git a/doc/news.ru.texi b/doc/news.ru.texi index 4b2acf4..84b15c4 100644 --- a/doc/news.ru.texi +++ b/doc/news.ru.texi @@ -25,6 +25,11 @@ Sendmail команда вызывается с дополнительной п Команде @command{nncp-toss} можно сказать не обрабатывать определённые типы пакетов, за счёт опций @option{-nofile}, @option{-nofreq}, @option{-nomail}, @option{-notrns}. +@item +По-умолчанию @command{nncp-file} команда для +@option{-minsize}/@option{-chunked} опций использует +@option{FreqMinSize}/@option{FreqChunked} из конфигурационного файла. +Это можно отключить указав нулевое значение. @end itemize @node Релиз 2.0 diff --git a/doc/news.texi b/doc/news.texi index f45e40e..d1a89b1 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -27,6 +27,11 @@ invocation using @option{-replynice} option. @command{nncp-toss} command can ignore specified packet types during processing: @option{-nofile}, @option{-nofreq}, @option{-nomail}, @option{-notrns}. +@item +@command{nncp-file} command uses +@option{FreqMinSize}/@option{FreqChunked} conifiguration file options +for @option{-minsize}/@option{-chunked} by default. You can turn this +off by specifying zero value. @end itemize @node Release 2.0 diff --git a/src/cypherpunks.ru/nncp/cmd/nncp-file/main.go b/src/cypherpunks.ru/nncp/cmd/nncp-file/main.go index e49f812..4325914 100644 --- a/src/cypherpunks.ru/nncp/cmd/nncp-file/main.go +++ b/src/cypherpunks.ru/nncp/cmd/nncp-file/main.go @@ -36,22 +36,25 @@ func usage() { flag.PrintDefaults() fmt.Fprint(os.Stderr, ` If SRC equals to -, then read data from stdin to temporary file. + +-minsize/-chunked take NODE's FreqMinSize/FreqChunked configuration +options by default. You can forcefully turn them off by specifying 0 value. `) } func main() { var ( - cfgPath = flag.String("cfg", nncp.DefaultCfgPath, "Path to configuration file") - niceRaw = flag.Int("nice", nncp.DefaultNiceFile, "Outbound packet niceness") - minSize = flag.Uint64("minsize", 0, "Minimal required resulting packet size, in KiB") - chunkSize = flag.Uint64("chunked", 0, "Split file on specified size chunks, 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") - quiet = flag.Bool("quiet", false, "Print only errors") - debug = flag.Bool("debug", false, "Print debug messages") - version = flag.Bool("version", false, "Print version information") - warranty = flag.Bool("warranty", false, "Print warranty information") + cfgPath = flag.String("cfg", nncp.DefaultCfgPath, "Path to configuration file") + niceRaw = flag.Int("nice", nncp.DefaultNiceFile, "Outbound packet niceness") + argMinSize = flag.Int64("minsize", -1, "Minimal required resulting packet size, in KiB") + argChunkSize = flag.Int64("chunked", -1, "Split file on specified size chunks, 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") + quiet = flag.Bool("quiet", false, "Print only errors") + debug = flag.Bool("debug", false, "Print debug messages") + version = flag.Bool("version", false, "Print version information") + warranty = flag.Bool("warranty", false, "Print warranty information") ) flag.Usage = usage flag.Parse() @@ -102,13 +105,27 @@ func main() { node.Via = vias } - if *chunkSize == 0 { + var minSize int64 + if *argMinSize < 0 { + minSize = node.FreqMinSize + } else if *argMinSize > 0 { + minSize = *argMinSize * 1024 + } + + var chunkSize int64 + if *argChunkSize < 0 { + chunkSize = node.FreqChunked + } else if *argChunkSize > 0 { + chunkSize = *argChunkSize * 1024 + } + + if chunkSize == 0 { err = ctx.TxFile( node, nice, flag.Arg(0), splitted[1], - int64(*minSize)*1024, + minSize, ) } else { err = ctx.TxFileChunked( @@ -116,8 +133,8 @@ func main() { nice, flag.Arg(0), splitted[1], - int64(*minSize)*1024, - int64(*chunkSize)*1024, + minSize, + chunkSize, ) } if err != nil { -- 2.44.0