in newtmgr/config/mtech_lora_config.go [42:86]
func ParseMtechLoraConnString(cs string) (*mtech_lora.LoraConfig, error) {
mc := NewMtechLoraConfig()
if len(cs) == 0 {
return mc, nil
}
parts := strings.Split(cs, ",")
for _, p := range parts {
kv := strings.SplitN(p, "=", 2)
if len(kv) != 2 {
return nil, util.FmtNewtError("expected comma-separated "+
"key=value pairs; no '=' in: %s", p)
}
k := kv[0]
v := kv[1]
switch k {
case "addr":
mc.Addr = v
case "segsz":
var err error
mc.SegSz, err = strconv.Atoi(v)
if err != nil {
return mc, util.FmtNewtError("Invalid SegSz: %s", v)
}
case "confirmedtx":
var err error
mc.ConfirmedTx, err = strconv.ParseBool(v)
if err != nil {
return mc, util.FmtNewtError("Invalid confirmedtx: %s", v)
}
case "port":
port, err := strconv.ParseUint(v, 10, 8)
if err != nil {
return mc, util.FmtNewtError("Invalid port number: %s", v)
}
mc.Port = uint8(port)
default:
return nil, util.FmtNewtError("Unrecognized key: %s", k)
}
}
return mc, nil
}