소스 검색

use predefined endpoint separator

kevin 5 년 전
부모
커밋
456b395860
4개의 변경된 파일18개의 추가작업 그리고 13개의 파일을 삭제
  1. 1 1
      rpcx/internal/resolver/directbuilder.go
  2. 1 1
      rpcx/internal/resolver/discovbuilder.go
  3. 12 7
      rpcx/internal/resolver/resolver.go
  4. 4 4
      rpcx/internal/target.go

+ 1 - 1
rpcx/internal/resolver/directbuilder.go

@@ -12,7 +12,7 @@ func (d *directBuilder) Build(target resolver.Target, cc resolver.ClientConn, op
 	resolver.Resolver, error) {
 	var addrs []resolver.Address
 	endpoints := strings.FieldsFunc(target.Endpoint, func(r rune) bool {
-		return r == EndpointSep
+		return r == EndpointSepChar
 	})
 
 	for _, val := range subset(endpoints, subsetSize) {

+ 1 - 1
rpcx/internal/resolver/discovbuilder.go

@@ -12,7 +12,7 @@ type discovBuilder struct{}
 func (d *discovBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOptions) (
 	resolver.Resolver, error) {
 	hosts := strings.FieldsFunc(target.Authority, func(r rune) bool {
-		return r == EndpointSep
+		return r == EndpointSepChar
 	})
 	sub, err := discov.NewSubscriber(hosts, target.Endpoint)
 	if err != nil {

+ 12 - 7
rpcx/internal/resolver/resolver.go

@@ -1,17 +1,22 @@
 package resolver
 
-import "google.golang.org/grpc/resolver"
+import (
+	"fmt"
+
+	"google.golang.org/grpc/resolver"
+)
 
 const (
-	DirectScheme = "direct"
-	DiscovScheme = "discov"
-	EndpointSep  = ','
-	subsetSize   = 32
+	DirectScheme    = "direct"
+	DiscovScheme    = "discov"
+	EndpointSepChar = ','
+	subsetSize      = 32
 )
 
 var (
-	dirBuilder directBuilder
-	disBuilder discovBuilder
+	EndpointSep = fmt.Sprintf("%c", EndpointSepChar)
+	dirBuilder  directBuilder
+	disBuilder  discovBuilder
 )
 
 func RegisterResolver() {

+ 4 - 4
rpcx/internal/target.go

@@ -8,11 +8,11 @@ import (
 )
 
 func BuildDirectTarget(endpoints []string) string {
-	return fmt.Sprintf("%s:///%s", resolver.DirectScheme, strings.Join(
-		endpoints, fmt.Sprintf("%c", resolver.EndpointSep)))
+	return fmt.Sprintf("%s:///%s", resolver.DirectScheme,
+		strings.Join(endpoints, resolver.EndpointSep))
 }
 
 func BuildDiscovTarget(endpoints []string, key string) string {
-	return fmt.Sprintf("%s://%s/%s", resolver.DiscovScheme, strings.Join(
-		endpoints, fmt.Sprintf("%c", resolver.EndpointSep)), key)
+	return fmt.Sprintf("%s://%s/%s", resolver.DiscovScheme,
+		strings.Join(endpoints, resolver.EndpointSep), key)
 }