Skip to content

Commit fe9d312

Browse files
authored
feat: move vanus.ID to pkg (#520)
Signed-off-by: James Yin <[email protected]>
1 parent 9c695ff commit fe9d312

File tree

15 files changed

+152
-95
lines changed

15 files changed

+152
-95
lines changed

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ __debug_bin
1313
# JetBrains
1414
.idea/
1515

16+
# Go workspace file
17+
go.work
18+
go.work.sum
19+
1620
# configuration file
1721
/config/*.json
1822
/config/*.toml
@@ -35,4 +39,4 @@ vanus-bench
3539

3640
*.log
3741

38-
secret.yml
42+
secret.yml

client/examples/eventbus/append/main.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,24 @@ import (
2222
// third-party project.
2323
ce "github.com/cloudevents/sdk-go/v2"
2424

25+
// first-party libraries.
26+
"github.com/vanus-labs/vanus/pkg/primitive"
27+
"github.com/vanus-labs/vanus/proto/pkg/cloudevents"
28+
"github.com/vanus-labs/vanus/proto/pkg/codec"
29+
2530
// this project.
2631
"github.com/vanus-labs/vanus/client"
2732
"github.com/vanus-labs/vanus/client/pkg/api"
2833
"github.com/vanus-labs/vanus/client/pkg/option"
2934
"github.com/vanus-labs/vanus/client/pkg/policy"
30-
"github.com/vanus-labs/vanus/internal/primitive/vanus"
31-
"github.com/vanus-labs/vanus/proto/pkg/cloudevents"
32-
"github.com/vanus-labs/vanus/proto/pkg/codec"
3335
)
3436

3537
func main() {
3638
ctx := context.Background()
3739

3840
c := client.Connect([]string{"localhost:2048"})
3941

40-
eventbusID, err := vanus.NewIDFromString("0000002689000012")
42+
eventbusID, err := primitive.NewIDFromString("0000002689000012")
4143
if err != nil {
4244
panic("invalid id")
4345
}
@@ -64,4 +66,3 @@ func main() {
6466
log.Printf("success! eventID:%s\n", eventID)
6567
}
6668
}
67-

client/examples/eventbus/read/main.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,21 @@ import (
1919
"context"
2020
"log"
2121

22+
// first-party libraries.
23+
"github.com/vanus-labs/vanus/pkg/primitive"
24+
2225
// this project.
2326
"github.com/vanus-labs/vanus/client"
2427
"github.com/vanus-labs/vanus/client/pkg/api"
2528
"github.com/vanus-labs/vanus/client/pkg/option"
2629
"github.com/vanus-labs/vanus/client/pkg/policy"
27-
"github.com/vanus-labs/vanus/internal/primitive/vanus"
2830
)
2931

3032
func main() {
3133
ctx := context.Background()
3234

3335
c := client.Connect([]string{"localhost:2048"})
34-
eventbusID, err := vanus.NewIDFromString("0000002689000012")
36+
eventbusID, err := primitive.NewIDFromString("0000002689000012")
3537
if err != nil {
3638
panic("invalid id")
3739
}

client/go.mod

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ require (
88
github.com/scylladb/go-set v1.0.2
99
github.com/vanus-labs/vanus/observability v0.5.7
1010
github.com/vanus-labs/vanus/pkg v0.5.7
11-
github.com/vanus-labs/vanus/proto v0.5.7
11+
github.com/vanus-labs/vanus/proto v0.7.1-0.20230307065123-722eac99dbf9
1212
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4
1313
go.opentelemetry.io/otel/trace v1.11.2
1414
go.uber.org/atomic v1.9.0
1515
google.golang.org/grpc v1.51.0
16+
google.golang.org/protobuf v1.28.1
1617
)
1718

1819
require (
19-
cloud.google.com/go/compute/metadata v0.2.1 // indirect
20+
cloud.google.com/go/compute/metadata v0.2.3 // indirect
2021
github.com/cenkalti/backoff/v4 v4.2.0 // indirect
2122
github.com/go-logr/logr v1.2.3 // indirect
2223
github.com/go-logr/stdr v1.2.2 // indirect
@@ -37,12 +38,10 @@ require (
3738
go.uber.org/multierr v1.7.0 // indirect
3839
go.uber.org/zap v1.17.0 // indirect
3940
golang.org/x/net v0.4.0 // indirect
40-
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect
4141
golang.org/x/sys v0.3.0 // indirect
4242
golang.org/x/text v0.5.0 // indirect
43-
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect
44-
google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c // indirect
45-
google.golang.org/protobuf v1.28.1 // indirect
43+
golang.org/x/time v0.1.0 // indirect
44+
google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd // indirect
4645
gopkg.in/yaml.v2 v2.4.0 // indirect
4746
)
4847

@@ -52,3 +51,5 @@ replace (
5251
github.com/vanus-labs/vanus/proto => ../proto
5352
github.com/vanus-labs/vanus/raft => ../raft
5453
)
54+
55+
replace github.com/vanus-labs/vanus => ./FORBIDDEN_DEPENDENCY

client/go.sum

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf
2020
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
2121
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
2222
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
23-
cloud.google.com/go/compute v1.12.1 h1:gKVJMEyqV5c/UnpzjjQbo3Rjvvqpr9B1DFSbJC4OXr0=
24-
cloud.google.com/go/compute/metadata v0.2.1 h1:efOwf5ymceDhK6PKMnnrTHP4pppY5L22mle96M1yP48=
25-
cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
23+
cloud.google.com/go/compute v1.14.0 h1:hfm2+FfxVmnRlh6LpB7cg1ZNU+5edAHmW679JePztk0=
24+
cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
25+
cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
2626
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
2727
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
2828
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
@@ -288,7 +288,6 @@ golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4Iltr
288288
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
289289
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
290290
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 h1:nt+Q6cXKz4MosCSpnbMtqiQ8Oz0pxTef2B4Vca2lvfk=
291-
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
292291
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
293292
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
294293
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -341,8 +340,8 @@ golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
341340
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
342341
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
343342
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
344-
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44=
345-
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
343+
golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA=
344+
golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
346345
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
347346
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
348347
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
@@ -442,8 +441,8 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D
442441
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
443442
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
444443
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
445-
google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c h1:QgY/XxIAIeccR+Ca/rDdKubLIU9rcJ3xfy1DC/Wd2Oo=
446-
google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo=
444+
google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd h1:OjndDrsik+Gt+e6fs45z9AxiewiKyLKYpA45W5Kpkks=
445+
google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE=
447446
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
448447
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
449448
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ require (
4444
go.opentelemetry.io/otel/trace v1.11.2
4545
go.uber.org/atomic v1.9.0
4646
go.uber.org/ratelimit v0.2.0
47-
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8
48-
google.golang.org/api v0.102.0
49-
google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c
47+
golang.org/x/time v0.1.0
48+
google.golang.org/api v0.103.0
49+
google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd
5050
google.golang.org/grpc v1.51.0
5151
google.golang.org/protobuf v1.28.1
5252
gopkg.in/yaml.v3 v3.0.1
@@ -57,8 +57,8 @@ require (
5757
)
5858

5959
require (
60-
cloud.google.com/go/compute v1.12.1 // indirect
61-
cloud.google.com/go/compute/metadata v0.2.1 // indirect
60+
cloud.google.com/go/compute v1.14.0 // indirect
61+
cloud.google.com/go/compute/metadata v0.2.3 // indirect
6262
github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 // indirect
6363
github.com/antlr/antlr4/runtime/Go/antlr v1.4.10 // indirect
6464
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.18 // indirect

go.sum

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf
1919
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
2020
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
2121
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
22-
cloud.google.com/go/compute v1.12.1 h1:gKVJMEyqV5c/UnpzjjQbo3Rjvvqpr9B1DFSbJC4OXr0=
23-
cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU=
24-
cloud.google.com/go/compute/metadata v0.2.1 h1:efOwf5ymceDhK6PKMnnrTHP4pppY5L22mle96M1yP48=
25-
cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
22+
cloud.google.com/go/compute v1.14.0 h1:hfm2+FfxVmnRlh6LpB7cg1ZNU+5edAHmW679JePztk0=
23+
cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo=
24+
cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
25+
cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
2626
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
2727
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
2828
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
@@ -624,8 +624,8 @@ golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
624624
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
625625
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
626626
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
627-
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44=
628-
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
627+
golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA=
628+
golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
629629
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
630630
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
631631
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -697,8 +697,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M
697697
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
698698
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
699699
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
700-
google.golang.org/api v0.102.0 h1:JxJl2qQ85fRMPNvlZY/enexbxpCjLwGhZUtgfGeQ51I=
701-
google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo=
700+
google.golang.org/api v0.103.0 h1:9yuVqlu2JCvcLg9p8S3fcFLZij8EPSyvODIY1rkMizQ=
701+
google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0=
702702
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
703703
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
704704
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -739,8 +739,8 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D
739739
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
740740
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
741741
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
742-
google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c h1:QgY/XxIAIeccR+Ca/rDdKubLIU9rcJ3xfy1DC/Wd2Oo=
743-
google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo=
742+
google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd h1:OjndDrsik+Gt+e6fs45z9AxiewiKyLKYpA45W5Kpkks=
743+
google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE=
744744
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
745745
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
746746
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=

internal/primitive/vanus/id.go

Lines changed: 24 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,44 @@
1515
package vanus
1616

1717
import (
18+
// standard libraries.
1819
"context"
1920
"errors"
2021
"fmt"
21-
"strconv"
2222
"sync"
2323
"time"
2424

25+
// third-party libraries.
2526
"github.com/sony/sonyflake"
2627
"go.uber.org/atomic"
2728
"google.golang.org/grpc/credentials/insecure"
2829
"google.golang.org/protobuf/types/known/emptypb"
2930
"google.golang.org/protobuf/types/known/timestamppb"
3031
"google.golang.org/protobuf/types/known/wrapperspb"
3132

33+
// first-party libraries.
3234
"github.com/vanus-labs/vanus/observability/log"
3335
"github.com/vanus-labs/vanus/pkg/cluster"
36+
"github.com/vanus-labs/vanus/pkg/primitive"
3437
ctrlpb "github.com/vanus-labs/vanus/proto/pkg/controller"
3538
)
3639

40+
var ErrEmptyID = primitive.ErrEmptyID
41+
42+
type ID = primitive.ID
43+
44+
func EmptyID() ID {
45+
return primitive.EmptyID()
46+
}
47+
48+
func NewIDFromUint64(id uint64) ID {
49+
return primitive.NewIDFromUint64(id)
50+
}
51+
52+
func NewIDFromString(id string) (ID, error) {
53+
return primitive.NewIDFromString(id)
54+
}
55+
3756
type node struct {
3857
start uint16
3958
end uint16
@@ -101,24 +120,13 @@ func (n *node) valid() bool {
101120
return n.logicID() < n.end && n.logicID() >= n.start
102121
}
103122

104-
type ID uint64
105-
106-
var (
107-
emptyID = ID(0)
108-
lock = sync.Mutex{}
109-
base = 16
110-
bitSize = 64
111-
)
112-
113-
func EmptyID() ID {
114-
return emptyID
115-
}
116-
117123
var (
118124
generator *snowflake
119125
once sync.Once
120126
fake bool
121127
initialized atomic.Bool
128+
129+
lock = sync.Mutex{}
122130
)
123131

124132
type snowflake struct {
@@ -175,7 +183,7 @@ func InitSnowflake(ctx context.Context, ctrlAddr []string, n *node) error {
175183
}
176184
generator = snow
177185
initialized.Store(true)
178-
log.Info(ctx, "succeed to init VolumeID generator", map[string]interface{}{
186+
log.Info(ctx, "succeed to init ID generator", map[string]interface{}{
179187
"node_id": snow.n.logicID(),
180188
})
181189
return nil
@@ -189,7 +197,7 @@ func InitSnowflake(ctx context.Context, ctrlAddr []string, n *node) error {
189197
for {
190198
select {
191199
case <-ctx.Done():
192-
err = errors.New("init snowflake id service timeout")
200+
err = errors.New("init snowflake ID service timeout")
193201
return
194202
case <-ticker.C:
195203
err = initService()
@@ -240,39 +248,6 @@ func NewTestID() ID {
240248
return ID(time.Now().UnixNano())
241249
}
242250

243-
func NewIDFromUint64(id uint64) ID {
244-
return ID(id)
245-
}
246-
247-
var ErrEmptyID = errors.New("id: empty")
248-
249-
func NewIDFromString(id string) (ID, error) {
250-
if id == "" {
251-
return emptyID, ErrEmptyID
252-
}
253-
i, err := strconv.ParseUint(id, base, bitSize)
254-
if err != nil {
255-
return emptyID, err
256-
}
257-
return ID(i), nil
258-
}
259-
260-
func (id ID) String() string {
261-
return fmt.Sprintf("%016X", uint64(id))
262-
}
263-
264-
func (id ID) Uint64() uint64 {
265-
return uint64(id)
266-
}
267-
268-
func (id ID) Key() string {
269-
return id.String()
270-
}
271-
272-
func (id ID) Equals(cID ID) bool {
273-
return id.Uint64() == cID.Uint64()
274-
}
275-
276251
type IDList []ID
277252

278253
func (l IDList) Contains(id ID) bool {

observability/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ require (
3030
golang.org/x/net v0.4.0 // indirect
3131
golang.org/x/sys v0.3.0 // indirect
3232
golang.org/x/text v0.5.0 // indirect
33-
google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c // indirect
33+
google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd // indirect
3434
google.golang.org/protobuf v1.28.1 // indirect
3535
)

observability/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -492,8 +492,8 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D
492492
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
493493
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
494494
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
495-
google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c h1:QgY/XxIAIeccR+Ca/rDdKubLIU9rcJ3xfy1DC/Wd2Oo=
496-
google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo=
495+
google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd h1:OjndDrsik+Gt+e6fs45z9AxiewiKyLKYpA45W5Kpkks=
496+
google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE=
497497
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
498498
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
499499
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=

0 commit comments

Comments
 (0)