/*
NNCP -- Node to Node copy, utilities for store-and-forward data exchange
-Copyright (C) 2016-2019 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2016-2021 Sergey Matveev <stargrave@stargrave.org>
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
"log"
"os"
"strings"
+ "time"
"go.cypherpunks.ru/nncp/v5"
)
version = flag.Bool("version", false, "Print version information")
warranty = flag.Bool("warranty", false, "Print warranty information")
- onlineDeadline = flag.Uint("onlinedeadline", 0, "Override onlinedeadline option")
- maxOnlineTime = 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()
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
}
- if *maxOnlineTime == 0 {
- maxOnlineTime = &node.MaxOnlineTime
+ maxOnlineTime := node.MaxOnlineTime
+ if *maxOnlineTimeSec != 0 {
+ maxOnlineTime = time.Duration(*maxOnlineTimeSec) * time.Second
}
var xxOnly nncp.TRxTx
splitted = strings.Split(*onlyPktsRaw, ",")
onlyPkts = make(map[[32]byte]bool, len(splitted))
for _, pktIdRaw := range splitted {
- pktId, err := nncp.FromBase32(pktIdRaw)
+ pktId, err := nncp.Base32Codec.DecodeString(pktIdRaw)
if err != nil {
log.Fatalln("Invalid packet specified: ", err)
}
xxOnly,
*rxRate,
*txRate,
- *onlineDeadline,
- *maxOnlineTime,
+ onlineDeadline,
+ maxOnlineTime,
*listOnly,
onlyPkts,
) {