Incoming *string `json:"incoming,omitempty"`
Exec map[string][]string `json:"exec,omitempty"`
Freq *NodeFreqJSON `json:"freq,omitempty"`
+ ACK *NodeACKJSON `json:"ack,omitempty"`
Via []string `json:"via,omitempty"`
Calls []CallJSON `json:"calls,omitempty"`
MaxSize *uint64 `json:"maxsize,omitempty"`
}
+type NodeACKJSON struct {
+ MinSize *uint64 `json:"minsize,omitempty"`
+ Nice *string `json:"nice,omitempty"`
+}
+
type CallJSON struct {
Cron string `json:"cron"`
Nice *string `json:"nice,omitempty"`
AutoTossNoExec bool `json:"autotoss-noexec,omitempty"`
AutoTossNoTrns bool `json:"autotoss-notrns,omitempty"`
AutoTossNoArea bool `json:"autotoss-noarea,omitempty"`
+ AutoTossNoACK bool `json:"autotoss-noack,omitempty"`
+ AutoTossGenACK bool `json:"autotoss-gen-ack,omitempty"`
}
type NodeOurJSON struct {
}
}
+ ackNice := uint8(255)
+ var ackMinSize int64
+ if cfg.ACK != nil {
+ if cfg.ACK.Nice != nil {
+ ackNice, err = NicenessParse(*cfg.ACK.Nice)
+ if err != nil {
+ return nil, err
+ }
+ }
+ if cfg.ACK.MinSize != nil {
+ ackMinSize = int64(*cfg.ACK.MinSize) * 1024
+ }
+ }
+
defRxRate := 0
if cfg.RxRate != nil && *cfg.RxRate > 0 {
defRxRate = *cfg.RxRate
call.AutoTossNoExec = callCfg.AutoTossNoExec
call.AutoTossNoTrns = callCfg.AutoTossNoTrns
call.AutoTossNoArea = callCfg.AutoTossNoArea
+ call.AutoTossNoACK = callCfg.AutoTossNoACK
+ call.AutoTossGenACK = callCfg.AutoTossGenACK
calls = append(calls, &call)
}
FreqChunked: freqChunked,
FreqMinSize: freqMinSize,
FreqMaxSize: freqMaxSize,
+ ACKNice: ackNice,
+ ACKMinSize: ackMinSize,
Calls: calls,
Addrs: cfg.Addrs,
RxRate: defRxRate,