]> Cypherpunks.ru repositories - nncp.git/commitdiff
Use explicitly larger bufio's buffer
authorSergey Matveev <stargrave@stargrave.org>
Sun, 4 Sep 2022 13:48:25 +0000 (16:48 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 4 Sep 2022 13:56:00 +0000 (16:56 +0300)
Default is 4KiB, but internally NNCP mostly uses 128KiB.

src/cmd/nncp-ack/main.go
src/cmd/nncp-bundle/main.go
src/cmd/nncp-exec/main.go
src/cmd/nncp-reass/main.go
src/cmd/nncp-xfer/main.go
src/toss.go
src/tx.go

index d7e8f0185697ba364298f1d5aba10535c46ac6cc..098218aa356c45583167a5f032305d28e53bcd89 100644 (file)
@@ -206,7 +206,12 @@ func main() {
                                continue
                        }
                        pipeR, pipeW := io.Pipe()
-                       go nncp.PktEncRead(ctx.Self, ctx.Neigh, bufio.NewReader(fd), pipeW, true, nil)
+                       go nncp.PktEncRead(
+                               ctx.Self,
+                               ctx.Neigh,
+                               bufio.NewReaderSize(fd, nncp.MTHBlockSize),
+                               pipeW, true, nil,
+                       )
                        var pkt nncp.Pkt
                        _, err = xdr.Unmarshal(pipeR, &pkt)
                        fd.Close()
index 071ecea039f4ff0fb5af801710790d4fa56f794c..28423b42fd031740507a677534c895162ddfc96a 100644 (file)
@@ -37,10 +37,6 @@ import (
        "go.cypherpunks.ru/nncp/v8"
 )
 
-const (
-       CopyBufSize = 1 << 17
-)
-
 func usage() {
        fmt.Fprintf(os.Stderr, nncp.UsageHeader())
        fmt.Fprintf(os.Stderr, "nncp-bundle -- Create/digest stream of NNCP encrypted packets\n\n")
@@ -165,7 +161,7 @@ func main() {
                                        log.Fatalln("Error writing tar header:", err)
                                }
                                if _, err = nncp.CopyProgressed(
-                                       tarWr, bufio.NewReader(fd), "Tx",
+                                       tarWr, bufio.NewReaderSize(fd, nncp.MTHBlockSize), "Tx",
                                        append(les, nncp.LEs{
                                                {K: "Pkt", V: nncp.Base32Codec.EncodeToString(job.HshValue[:])},
                                                {K: "FullSize", V: job.Size},
@@ -208,11 +204,11 @@ func main() {
                        log.Fatalln("Error during tar closing:", err)
                }
        } else {
-               bufStdin := bufio.NewReaderSize(os.Stdin, CopyBufSize*2)
+               bufStdin := bufio.NewReaderSize(os.Stdin, nncp.MTHBlockSize*2)
                pktEncBuf := make([]byte, nncp.PktEncOverhead)
                var pktEnc *nncp.PktEnc
                for {
-                       peeked, err := bufStdin.Peek(CopyBufSize)
+                       peeked, err := bufStdin.Peek(nncp.MTHBlockSize)
                        if err != nil && err != io.EOF {
                                log.Fatalln("Error during reading:", err)
                        }
@@ -473,7 +469,7 @@ func main() {
                                        if err != nil {
                                                log.Fatalln("Error during temporary file creation:", err)
                                        }
-                                       bufTmp := bufio.NewWriterSize(tmp, CopyBufSize)
+                                       bufTmp := bufio.NewWriterSize(tmp, nncp.MTHBlockSize)
                                        if _, err = bufTmp.Write(pktEncBuf); err != nil {
                                                log.Fatalln("Error during writing:", err)
                                        }
index 5883c1e60a3cfc40e6825b39c868e87f77820321..aa2ab74895cce66d152883df6c6234521f4aff5f 100644 (file)
@@ -125,7 +125,7 @@ func main() {
                replyNice,
                flag.Args()[1],
                flag.Args()[2:],
-               bufio.NewReader(os.Stdin),
+               bufio.NewReaderSize(os.Stdin, nncp.MTHBlockSize),
                int64(*minSize)*1024,
                maxSize,
                *noCompress,
index d095f95d041ba4b1c99cc2513828f2e2cce057b7..77d1c7ee600c1c34f38424bb507ac917c951288d 100644 (file)
@@ -157,7 +157,7 @@ func process(ctx *nncp.Ctx, path string, keep, dryRun, stdout, dumpMeta bool) bo
                }
                hsh = nncp.MTHNew(fi.Size(), 0)
                if _, err = nncp.CopyProgressed(
-                       hsh, bufio.NewReader(fd), "check",
+                       hsh, bufio.NewReaderSize(fd, nncp.MTHBlockSize), "check",
                        nncp.LEs{{K: "Pkt", V: chunkPath}, {K: "FullSize", V: fi.Size()}},
                        ctx.ShowPrgrs,
                ); err != nil {
@@ -213,7 +213,7 @@ func process(ctx *nncp.Ctx, path string, keep, dryRun, stdout, dumpMeta bool) bo
                        log.Fatalln("Can not stat file:", err)
                }
                if _, err = nncp.CopyProgressed(
-                       dstW, bufio.NewReader(fd), "reass",
+                       dstW, bufio.NewReaderSize(fd, nncp.MTHBlockSize), "reass",
                        nncp.LEs{{K: "Pkt", V: chunkPath}, {K: "FullSize", V: fi.Size()}},
                        ctx.ShowPrgrs,
                ); err != nil {
index 9c29b0284b1975b4da44fcd927a3cb5841901a32..dc522a85dbfc0818e07b79d405a3898d34646c11 100644 (file)
@@ -293,7 +293,9 @@ func main() {
                        }
                        r, w := io.Pipe()
                        go func() {
-                               _, err := io.CopyN(w, bufio.NewReader(fd), fiInt.Size())
+                               _, err := io.CopyN(
+                                       w, bufio.NewReaderSize(fd, nncp.MTHBlockSize), fiInt.Size(),
+                               )
                                if err == nil {
                                        err = w.Close()
                                }
@@ -477,7 +479,7 @@ Tx:
                        }
                        bufW := bufio.NewWriter(tmp)
                        copied, err := nncp.CopyProgressed(
-                               bufW, bufio.NewReader(fd), "Tx",
+                               bufW, bufio.NewReaderSize(fd, nncp.MTHBlockSize), "Tx",
                                append(les, nncp.LE{K: "FullSize", V: job.Size}),
                                ctx.ShowPrgrs,
                        )
index 79cc50f496982c96b976c532fc47f327dfcdaf6c..d6c74c405cf069fc5f203525190a3b5315fd3b02 100644 (file)
@@ -1063,7 +1063,7 @@ func (ctx *Ctx) Toss(
                sharedKey, _, _, err = PktEncRead(
                        ctx.Self,
                        ctx.Neigh,
-                       bufio.NewReader(fd),
+                       bufio.NewReaderSize(fd, MTHBlockSize),
                        pipeWB,
                        sharedKey == nil,
                        sharedKey,
index e38084e1a7a3c01390987af3da42c8667d2ee4ab..f7f099b39f3239c34979388be784393c694cfda8 100644 (file)
--- a/src/tx.go
+++ b/src/tx.go
@@ -388,7 +388,9 @@ func prepareTxFile(srcPath string) (
                                fd.Close()
                                return w.CloseWithError(err)
                        }
-                       if _, err = io.Copy(tarWr, bufio.NewReader(fd)); err != nil {
+                       if _, err = io.Copy(
+                               tarWr, bufio.NewReaderSize(fd, MTHBlockSize),
+                       ); err != nil {
                                fd.Close()
                                return w.CloseWithError(err)
                        }
@@ -441,7 +443,7 @@ func (ctx *Ctx) TxFile(
                _, finalSize, pktName, err := ctx.Tx(
                        node, pkt, nice,
                        srcSize, minSize, maxSize,
-                       bufio.NewReader(reader), dstPath, areaId,
+                       bufio.NewReaderSize(reader, MTHBlockSize), dstPath, areaId,
                )
                les := LEs{
                        {"Type", "file"},
@@ -469,7 +471,7 @@ func (ctx *Ctx) TxFile(
                return err
        }
 
-       br := bufio.NewReader(reader)
+       br := bufio.NewReaderSize(reader, MTHBlockSize)
        var sizeFull int64
        var chunkNum int
        checksums := [][MTHSize]byte{}