X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Ftx.go;h=998be8926030e7baa2fe7a1f82d15161476a1015;hb=0367cce2741e1ce6a89a49fd5c4e9df6005c9744;hp=0f7d2b8d9369627d4cbf52eb63b996b5874a22a5;hpb=b47dbfe6687569650fa544a4ecf3e4ea388390cb;p=nncp.git diff --git a/src/tx.go b/src/tx.go index 0f7d2b8..998be89 100644 --- a/src/tx.go +++ b/src/tx.go @@ -1,6 +1,6 @@ /* NNCP -- Node to Node copy, utilities for store-and-forward data exchange -Copyright (C) 2016-2021 Sergey Matveev +Copyright (C) 2016-2022 Sergey Matveev 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 @@ -200,10 +200,13 @@ func (ctx *Ctx) Tx( }() var pktEncRaw []byte var pktEncMsg []byte + var payloadSize int64 if area != nil { - pktEncMsg = (<-results).pktEncRaw + r := <-results + payloadSize = r.size + pktEncMsg = r.pktEncRaw + wrappers-- } - var finalSize int64 for i := 0; i <= wrappers; i++ { r := <-results if r.err != nil { @@ -211,8 +214,10 @@ func (ctx *Ctx) Tx( return nil, 0, err } if r.pktEncRaw != nil { - finalSize = r.size pktEncRaw = r.pktEncRaw + if payloadSize == 0 { + payloadSize = r.size + } } } nodePath := filepath.Join(ctx.Spool, lastNode.Id.String()) @@ -261,7 +266,7 @@ func (ctx *Ctx) Tx( } ctx.LogI("tx-area", les, logMsg) } - return lastNode, finalSize, err + return lastNode, payloadSize, err } type DummyCloser struct{}