MCPcopy Index your code
hub / github.com/coder/coder / ParseRPCVersion

Function ParseRPCVersion

vpn/version.go:43–60  ·  view source on GitHub ↗

ParseRPCVersion parses a version string in the format "major.minor" into a RPCVersion.

(str string)

Source from the content-addressed store, hash-verified

41// ParseRPCVersion parses a version string in the format "major.minor" into a
42// RPCVersion.
43func ParseRPCVersion(str string) (RPCVersion, error) {
44 split := strings.Split(str, ".")
45 if len(split) != 2 {
46 return RPCVersion{}, xerrors.Errorf("invalid version string: %s", str)
47 }
48 major, err := strconv.ParseUint(split[0], 10, 64)
49 if err != nil {
50 return RPCVersion{}, xerrors.Errorf("invalid version string: %s", str)
51 }
52 if major == 0 {
53 return RPCVersion{}, xerrors.Errorf("invalid version string: %s", str)
54 }
55 minor, err := strconv.ParseUint(split[1], 10, 64)
56 if err != nil {
57 return RPCVersion{}, xerrors.Errorf("invalid version string: %s", str)
58 }
59 return RPCVersion{Major: major, Minor: minor}, nil
60}
61
62func (v RPCVersion) String() string {
63 return fmt.Sprintf("%d.%d", v.Major, v.Minor)

Callers 2

ParseRPCVersionListFunction · 0.85

Calls 1

ErrorfMethod · 0.45

Tested by 1