func ParseBllConnString()

in newtmgr/config/bll_config.go [61:107]


func ParseBllConnString(cs string) (*BllConfig, error) {
	bc := NewBllConfig()

	if strings.TrimSpace(cs) == "" {
		return bc, nil
	}

	parts := strings.Split(cs, ",")
	for _, p := range parts {
		kv := strings.SplitN(p, "=", 2)
		if len(kv) != 2 {
			return nil, einvalBllConnString("expected comma-separated "+
				"key=value pairs; no '=' in: %s", p)
		}

		k := kv[0]
		v := kv[1]

		switch k {
		case "ctlr_name":
			bc.CtlrName = v
		case "own_addr_type":
			var err error
			bc.OwnAddrType, err = bledefs.BleAddrTypeFromString(v)
			if err != nil {
				return nil, einvalBleConnString("Invalid own_addr_type: %s", v)
			}
		case "peer_id":
			bc.PeerId = v
		case "peer_name":
			bc.PeerName = v
		case "conn_timeout":
			var err error
			bc.ConnTimeout, err = strconv.ParseFloat(v, 64)
			if err != nil {
				return nil, einvalBleConnString("Invalid conn_timeout: %s", v)
			}

		default:
			return nil, einvalBllConnString("Unrecognized key: %s", k)
		}
	}

	bc.HciIdx = nmutil.HciIdx

	return bc, nil
}