]> Cypherpunks.ru repositories - nncp.git/blobdiff - src/tx.go
.nncp.meta must contain payload size, not the full one
[nncp.git] / src / tx.go
index 0f7d2b8d9369627d4cbf52eb63b996b5874a22a5..b8d47aa6148ae87ad542b20236c67a106130f404 100644 (file)
--- a/src/tx.go
+++ b/src/tx.go
@@ -200,10 +200,12 @@ 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
        }
-       var finalSize int64
        for i := 0; i <= wrappers; i++ {
                r := <-results
                if r.err != nil {
@@ -211,8 +213,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 +265,7 @@ func (ctx *Ctx) Tx(
                }
                ctx.LogI("tx-area", les, logMsg)
        }
-       return lastNode, finalSize, err
+       return lastNode, payloadSize, err
 }
 
 type DummyCloser struct{}