func ParseMtechLoraConnString()

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
}