]> Cypherpunks.ru repositories - nncp.git/commitdiff
Remove unnecessary Duration*Second calculation
authorSergey Matveev <stargrave@stargrave.org>
Fri, 20 Dec 2019 20:54:23 +0000 (23:54 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 22 Dec 2019 18:13:04 +0000 (21:13 +0300)
src/call.go
src/cfg.go
src/cmd/nncp-call/main.go
src/node.go
src/sp.go

index 727b95fd46d9fad3645af58d1f7ac73eadba26c7..339549825004f97da322b5cd00a3d44eb6c0fb07 100644 (file)
@@ -31,7 +31,7 @@ type Call struct {
        RxRate         int
        TxRate         int
        Addr           *string
-       OnlineDeadline uint
+       OnlineDeadline time.Duration
        MaxOnlineTime  time.Duration
 }
 
@@ -41,8 +41,7 @@ func (ctx *Ctx) CallNode(
        nice uint8,
        xxOnly TRxTx,
        rxRate, txRate int,
-       onlineDeadline uint,
-       maxOnlineTime time.Duration,
+       onlineDeadline, maxOnlineTime time.Duration,
        listOnly bool,
        onlyPkts map[[32]byte]bool,
 ) (isGood bool) {
index 42fa918ae431687c2a038000637c0ae66b4746db..f003dcb0bd85dcd2bc31585a69d1a03a515b860d 100644 (file)
@@ -195,12 +195,12 @@ func NewNode(name string, cfg NodeJSON) (*Node, error) {
                defTxRate = *cfg.TxRate
        }
 
-       defOnlineDeadline := uint(DefaultDeadline)
+       defOnlineDeadline := DefaultDeadline
        if cfg.OnlineDeadline != nil {
                if *cfg.OnlineDeadline <= 0 {
                        return nil, errors.New("OnlineDeadline must be at least 1 second")
                }
-               defOnlineDeadline = *cfg.OnlineDeadline
+               defOnlineDeadline = time.Duration(*cfg.OnlineDeadline) * time.Second
        }
        var defMaxOnlineTime time.Duration
        if cfg.MaxOnlineTime != nil {
@@ -257,7 +257,7 @@ func NewNode(name string, cfg NodeJSON) (*Node, error) {
                        if *callCfg.OnlineDeadline == 0 {
                                return nil, errors.New("OnlineDeadline must be at least 1 second")
                        }
-                       onlineDeadline = *callCfg.OnlineDeadline
+                       onlineDeadline = time.Duration(*callCfg.OnlineDeadline) * time.Second
                }
 
                var maxOnlineTime time.Duration
index 7b0a0d827089728ff67e9125ff0f31c241d7b1a6..ae6bffeb39b7f997e3cf5e45d952b3964c28a840 100644 (file)
@@ -56,8 +56,8 @@ func main() {
                version     = flag.Bool("version", false, "Print version information")
                warranty    = flag.Bool("warranty", false, "Print warranty information")
 
-               onlineDeadline   = flag.Uint("onlinedeadline", 0, "Override onlinedeadline option")
-               maxOnlineTimeSec = flag.Uint("maxonlinetime", 0, "Override maxonlinetime option")
+               onlineDeadlineSec = flag.Uint("onlinedeadline", 0, "Override onlinedeadline option")
+               maxOnlineTimeSec  = flag.Uint("maxonlinetime", 0, "Override maxonlinetime option")
        )
        flag.Usage = usage
        flag.Parse()
@@ -106,13 +106,12 @@ func main() {
                log.Fatalln("Node does not have online communication capability")
        }
 
-       if *onlineDeadline == 0 {
-               onlineDeadline = &node.OnlineDeadline
+       onlineDeadline := node.OnlineDeadline
+       if *onlineDeadlineSec != 0 {
+               onlineDeadline = time.Duration(*onlineDeadlineSec) * time.Second
        }
-       var maxOnlineTime time.Duration
-       if *maxOnlineTimeSec == 0 {
-               maxOnlineTime = node.MaxOnlineTime
-       } else {
+       maxOnlineTime := node.MaxOnlineTime
+       if *maxOnlineTimeSec != 0 {
                maxOnlineTime = time.Duration(*maxOnlineTimeSec) * time.Second
        }
 
@@ -161,7 +160,7 @@ func main() {
                xxOnly,
                *rxRate,
                *txRate,
-               *onlineDeadline,
+               onlineDeadline,
                maxOnlineTime,
                *listOnly,
                onlyPkts,
index e93b8d9c6565ba74954b11a3b6d7efb8f72efc7b..7bfd0efda5723cb71d164410a4428a2fbf47627e 100644 (file)
@@ -51,7 +51,7 @@ type Node struct {
        Addrs          map[string]string
        RxRate         int
        TxRate         int
-       OnlineDeadline uint
+       OnlineDeadline time.Duration
        MaxOnlineTime  time.Duration
        Calls          []*Call
 
index a29fb9d6ed7254a6a99c3e39e019d3b609b1c624..6388bef017201984ab7dad641831ada4300aa9d6 100644 (file)
--- a/src/sp.go
+++ b/src/sp.go
@@ -34,10 +34,8 @@ import (
 )
 
 const (
-       MaxSPSize       = 1<<16 - 256
-       PartSuffix      = ".part"
-       DefaultDeadline = 10
-
+       MaxSPSize      = 1<<16 - 256
+       PartSuffix     = ".part"
        SPHeadOverhead = 4
 )
 
@@ -55,6 +53,8 @@ var (
                noise.HashBLAKE2b,
        )
 
+       DefaultDeadline = 10 * time.Second
+
        spWorkersGroup sync.WaitGroup
 )
 
@@ -171,7 +171,7 @@ type SPState struct {
        Ctx            *Ctx
        Node           *Node
        Nice           uint8
-       onlineDeadline uint
+       onlineDeadline time.Duration
        maxOnlineTime  time.Duration
        hs             *noise.HandshakeState
        csOur          *noise.CipherState
@@ -375,14 +375,14 @@ func (state *SPState) StartI(conn ConnDeadlined) error {
        }
        sds := SDS{"node": nodeId, "nice": int(state.Nice)}
        state.Ctx.LogD("sp-start", sds, "sending first message")
-       conn.SetWriteDeadline(time.Now().Add(DefaultDeadline * time.Second))
+       conn.SetWriteDeadline(time.Now().Add(DefaultDeadline))
        if err = state.WriteSP(conn, buf); err != nil {
                state.Ctx.LogE("sp-start", sds, err, "")
                state.dirUnlock()
                return err
        }
        state.Ctx.LogD("sp-start", sds, "waiting for first message")
-       conn.SetReadDeadline(time.Now().Add(DefaultDeadline * time.Second))
+       conn.SetReadDeadline(time.Now().Add(DefaultDeadline))
        if buf, err = state.ReadSP(conn); err != nil {
                state.Ctx.LogE("sp-start", sds, err, "")
                state.dirUnlock()
@@ -428,7 +428,7 @@ func (state *SPState) StartR(conn ConnDeadlined) error {
        var buf []byte
        var payload []byte
        state.Ctx.LogD("sp-start", SDS{"nice": int(state.Nice)}, "waiting for first message")
-       conn.SetReadDeadline(time.Now().Add(DefaultDeadline * time.Second))
+       conn.SetReadDeadline(time.Now().Add(DefaultDeadline))
        if buf, err = state.ReadSP(conn); err != nil {
                state.Ctx.LogE("sp-start", SDS{}, err, "")
                return err
@@ -496,7 +496,7 @@ func (state *SPState) StartR(conn ConnDeadlined) error {
                state.dirUnlock()
                return err
        }
-       conn.SetWriteDeadline(time.Now().Add(DefaultDeadline * time.Second))
+       conn.SetWriteDeadline(time.Now().Add(DefaultDeadline))
        if err = state.WriteSP(conn, buf); err != nil {
                state.Ctx.LogE("sp-start", sds, err, "")
                state.dirUnlock()
@@ -574,8 +574,8 @@ func (state *SPState) StartWorkers(
                                        return
                                }
                        case now := <-ticker.C:
-                               if (uint(now.Sub(state.RxLastSeen).Seconds()) >= state.onlineDeadline &&
-                                       uint(now.Sub(state.TxLastSeen).Seconds()) >= state.onlineDeadline) ||
+                               if (now.Sub(state.RxLastSeen) >= state.onlineDeadline &&
+                                       now.Sub(state.TxLastSeen) >= state.onlineDeadline) ||
                                        (state.maxOnlineTime > 0 && state.mustFinishAt.Before(now)) {
                                        state.SetDead()
                                        conn.Close()
@@ -737,7 +737,7 @@ func (state *SPState) StartWorkers(
                                break
                        }
                        state.Ctx.LogD("sp-recv", sds, "waiting for payload")
-                       conn.SetReadDeadline(time.Now().Add(DefaultDeadline * time.Second))
+                       conn.SetReadDeadline(time.Now().Add(DefaultDeadline))
                        payload, err := state.ReadSP(conn)
                        if err != nil {
                                if err == io.EOF {