broker refactor
Some checks failed
coverage / build (pull_request) Failing after 36s
lint / lint (pull_request) Failing after 2m55s
test / test (pull_request) Successful in 4m28s

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
2025-01-30 01:44:11 +03:00
parent c9066e0455
commit c5e6d4cddc
16 changed files with 785 additions and 688 deletions

View File

@@ -6,9 +6,10 @@ import (
"sync"
"time"
"go.unistack.org/micro/v4/logger"
"go.unistack.org/micro/v4/register"
"go.unistack.org/micro/v4/util/id"
"go.unistack.org/micro/v3/logger"
"go.unistack.org/micro/v3/metadata"
"go.unistack.org/micro/v3/register"
"go.unistack.org/micro/v3/util/id"
)
var (
@@ -23,10 +24,9 @@ type node struct {
}
type record struct {
Name string
Version string
Metadata map[string]string
Nodes map[string]*node
Name string
Version string
Nodes map[string]*node
}
type memory struct {
@@ -160,19 +160,14 @@ func (m *memory) Register(_ context.Context, s *register.Service, opts ...regist
continue
}
metadata := make(map[string]string, len(n.Metadata))
// make copy of metadata
for k, v := range n.Metadata {
metadata[k] = v
}
md := metadata.Copy(n.Metadata)
// add the node
srvs[s.Name][s.Version].Nodes[n.ID] = &node{
Node: &register.Node{
ID: n.ID,
Address: n.Address,
Metadata: metadata,
Metadata: md,
},
TTL: options.TTL,
LastSeen: time.Now(),
@@ -452,23 +447,15 @@ func serviceToRecord(s *register.Service, ttl time.Duration) *record {
}
func recordToService(r *record, namespace string) *register.Service {
metadata := make(map[string]string, len(r.Metadata))
for k, v := range r.Metadata {
metadata[k] = v
}
nodes := make([]*register.Node, len(r.Nodes))
i := 0
for _, n := range r.Nodes {
md := make(map[string]string, len(n.Metadata))
for k, v := range n.Metadata {
md[k] = v
}
nmd := metadata.Copy(n.Metadata)
nodes[i] = &register.Node{
ID: n.ID,
Address: n.Address,
Metadata: md,
Metadata: nmd,
}
i++
}

View File

@@ -7,7 +7,7 @@ import (
"testing"
"time"
"go.unistack.org/micro/v4/register"
"go.unistack.org/micro/v3/register"
)
var testData = map[string][]*register.Service{