diff --git a/.gitignore b/.gitignore index 82e04e5..1704759 100644 --- a/.gitignore +++ b/.gitignore @@ -40,7 +40,7 @@ META-INF/ # golang /binding/golang/searcher -/binding/golang/dbsearcher +/binding/golang/xdb_searcher /binding/golang/golang # rust @@ -50,10 +50,10 @@ target # VS ignore cases /**/*.sln -/v1.0//binding/c#/**/.vs/ -/v1.0//binding/c#/**/packages -/v1.0//binding/c#/**/bin -/v1.0//binding/c#/**/obj +/v1.0/binding/c#/**/.vs/ +/v1.0/binding/c#/**/packages +/v1.0/binding/c#/**/bin +/v1.0/binding/c#/**/obj /binding/c#/**/.vs/ /binding/c#/**/packages /binding/c#/**/bin @@ -68,3 +68,5 @@ target # maker ## golang /maker/golang/dbmaker +/maker/golang/xdb_maker +/maker/golang/golang diff --git a/maker/golang/go.mod b/maker/golang/go.mod index c1f546f..7c3242a 100644 --- a/maker/golang/go.mod +++ b/maker/golang/go.mod @@ -1,3 +1,3 @@ -module dbmaker +module github.com/lionsoul2014/ip2region/maker/golang -go 1.17 \ No newline at end of file +go 1.17 diff --git a/maker/golang/go.sum b/maker/golang/go.sum index ae38d14..e69de29 100644 --- a/maker/golang/go.sum +++ b/maker/golang/go.sum @@ -1,2 +0,0 @@ -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= diff --git a/maker/golang/main.go b/maker/golang/main.go index f2967ee..0c7ae53 100644 --- a/maker/golang/main.go +++ b/maker/golang/main.go @@ -7,6 +7,7 @@ package main import ( "bufio" "fmt" + "github.com/lionsoul2014/ip2region/maker/golang/xdb" "log" "os" "strings" @@ -25,7 +26,7 @@ func printHelp() { func genDb() { var err error var srcFile, dstFile = "", "" - var indexPolicy = VectorIndexPolicy + var indexPolicy = xdb.VectorIndexPolicy for i := 2; i < len(os.Args); i++ { r := os.Args[i] if len(r) < 5 { @@ -48,7 +49,7 @@ func genDb() { case "dst": dstFile = r[eIdx+1:] case "index": - indexPolicy, err = IndexPolicyFromString(r[eIdx+1:]) + indexPolicy, err = xdb.IndexPolicyFromString(r[eIdx+1:]) if err != nil { fmt.Printf("parse policy: %s", err.Error()) return @@ -66,7 +67,7 @@ func genDb() { // make the binary file tStart := time.Now() - maker, err := NewMaker(indexPolicy, srcFile, dstFile) + maker, err := xdb.NewMaker(indexPolicy, srcFile, dstFile) if err != nil { log.Fatalf("failed to create maker: %s", err) } @@ -121,7 +122,7 @@ func testSearch() { return } - searcher, err := NewSearcher(dbFile) + searcher, err := xdb.NewSearcher(dbFile) if err != nil { log.Fatalf("failed to create searcher: %s", err.Error()) } @@ -163,7 +164,7 @@ quit : exit the test program`) break } - ip, err := CheckIP(line) + ip, err := xdb.CheckIP(line) if err != nil { fmt.Printf("invalid ip address `%s`\n", line) continue @@ -226,7 +227,7 @@ func testBench() { return } - searcher, err := NewSearcher(dbFile) + searcher, err := xdb.NewSearcher(dbFile) defer func() { searcher.Close() }() @@ -248,13 +249,13 @@ func testBench() { return } - sip, err := CheckIP(ps[0]) + sip, err := xdb.CheckIP(ps[0]) if err != nil { fmt.Printf("check start ip `%s`: %s\n", ps[0], err) return } - eip, err := CheckIP(ps[1]) + eip, err := xdb.CheckIP(ps[1]) if err != nil { fmt.Printf("check end ip `%s`: %s\n", ps[1], err) return @@ -266,12 +267,12 @@ func testBench() { } fmt.Printf("try to bench segment: `%s`\n", l) - mip := MidIP(sip, eip) - for _, ip := range []uint32{sip, MidIP(sip, mip), mip, MidIP(mip, eip), eip} { - fmt.Printf("|-try to bench ip '%s' ... ", Long2IP(ip)) + mip := xdb.MidIP(sip, eip) + for _, ip := range []uint32{sip, xdb.MidIP(sip, mip), mip, xdb.MidIP(mip, eip), eip} { + fmt.Printf("|-try to bench ip '%s' ... ", xdb.Long2IP(ip)) region, _, err := searcher.Search(ip) if err != nil { - fmt.Printf("failed to search ip '%s': %s\n", Long2IP(ip), err) + fmt.Printf("failed to search ip '%s': %s\n", xdb.Long2IP(ip), err) return } diff --git a/maker/golang/index.go b/maker/golang/xdb/index.go similarity index 99% rename from maker/golang/index.go rename to maker/golang/xdb/index.go index 487b4c4..b57b581 100644 --- a/maker/golang/index.go +++ b/maker/golang/xdb/index.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a Apache2.0-style // license that can be found in the LICENSE file. -package main +package xdb import ( "encoding/binary" diff --git a/maker/golang/maker.go b/maker/golang/xdb/maker.go similarity index 99% rename from maker/golang/maker.go rename to maker/golang/xdb/maker.go index fbdd7ee..d71b596 100644 --- a/maker/golang/maker.go +++ b/maker/golang/xdb/maker.go @@ -47,7 +47,7 @@ // +------------+-----------+---------------+------------+ // start ip end ip data length data ptr -package main +package xdb import ( "bufio" diff --git a/maker/golang/searcher.go b/maker/golang/xdb/searcher.go similarity index 99% rename from maker/golang/searcher.go rename to maker/golang/xdb/searcher.go index ec9fbf6..0d5ca00 100644 --- a/maker/golang/searcher.go +++ b/maker/golang/xdb/searcher.go @@ -8,7 +8,7 @@ // please use the searcher in binding/golang for production use. // And this is a Not thread safe implementation. -package main +package xdb import ( "encoding/binary" diff --git a/maker/golang/segment.go b/maker/golang/xdb/segment.go similarity index 99% rename from maker/golang/segment.go rename to maker/golang/xdb/segment.go index 6a58ca1..cdc48ac 100644 --- a/maker/golang/segment.go +++ b/maker/golang/xdb/segment.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a Apache2.0-style // license that can be found in the LICENSE file. -package main +package xdb import ( "fmt" diff --git a/maker/golang/util.go b/maker/golang/xdb/util.go similarity index 99% rename from maker/golang/util.go rename to maker/golang/xdb/util.go index d480097..96debc8 100644 --- a/maker/golang/util.go +++ b/maker/golang/xdb/util.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a Apache2.0-style // license that can be found in the LICENSE file. -package main +package xdb import ( "encoding/binary" diff --git a/maker/golang/util_test.go b/maker/golang/xdb/util_test.go similarity index 98% rename from maker/golang/util_test.go rename to maker/golang/xdb/util_test.go index e0c0321..0de34dc 100644 --- a/maker/golang/util_test.go +++ b/maker/golang/xdb/util_test.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a Apache2.0-style // license that can be found in the LICENSE file. -package main +package xdb import ( "fmt"