diff --git a/maker/golang/main.go b/maker/golang/main.go index 142c55f..a2a26bd 100644 --- a/maker/golang/main.go +++ b/maker/golang/main.go @@ -283,13 +283,13 @@ func testSearch() { versionNo := binary.LittleEndian.Uint16(header[0:]) if versionNo == 2 { // old xdb file - version = xdb.V4 + version = xdb.IPv4 } else if versionNo == 3 { ipNo := int(binary.LittleEndian.Uint16(header[16:])) - if ipNo == xdb.V4.Id { - version = xdb.V4 - } else if ipNo == xdb.V6.Id { - version = xdb.V6 + if ipNo == xdb.IPv4.Id { + version = xdb.IPv4 + } else if ipNo == xdb.IPv6.Id { + version = xdb.IPv6 } else { slog.Error("invalid ip version", "id", ipNo) return diff --git a/maker/golang/xdb/version.go b/maker/golang/xdb/version.go index 0465fce..bf9c672 100644 --- a/maker/golang/xdb/version.go +++ b/maker/golang/xdb/version.go @@ -9,6 +9,11 @@ import ( "strings" ) +const ( + IPv4VersionNo = 4 + IPv6VersionNo = 6 +) + type Version struct { Id int Name string @@ -17,14 +22,14 @@ type Version struct { } var ( - VX = &Version{} - V4 = &Version{ + IPvx = &Version{} + IPv4 = &Version{ Id: 4, Name: "IPv4", Bytes: 4, SegmentIndexSize: 14, // 4 + 4 + 2 + 4 } - V6 = &Version{ + IPv6 = &Version{ Id: 6, Name: "IPv6", Bytes: 16, @@ -35,23 +40,23 @@ var ( func VersionFromIP(ip string) (*Version, error) { bytes, err := ParseIP(ip) if err != nil { - return VX, fmt.Errorf("parse ip fail: %w", err) + return IPvx, fmt.Errorf("parse ip fail: %w", err) } if len(bytes) == 4 { - return V4, nil + return IPv4, nil } - return V6, nil + return IPv6, nil } func VersionFromName(name string) (*Version, error) { switch strings.ToUpper(name) { case "V4", "IPV4": - return V4, nil + return IPv4, nil case "V6", "IPV6": - return V6, nil + return IPv6, nil default: - return VX, fmt.Errorf("invalid version name `%s`", name) + return IPvx, fmt.Errorf("invalid version name `%s`", name) } }