Przeglądaj źródła

SVI Доработки; 46.1%

SVI 2 lat temu
rodzic
commit
abd91683ad

+ 1 - 2
internal/serv_grpc/serv_subcsribe/serv_subscribe.go

@@ -6,7 +6,6 @@ import (
 	"log"
 
 	"p78git.ddns.net/svi/gobus/api/netapi"
-	"p78git.ddns.net/svi/gobus/pkg/alias"
 	"p78git.ddns.net/svi/gobus/pkg/net/cleint_proxy"
 	"p78git.ddns.net/svi/gobus/pkg/types"
 )
@@ -32,7 +31,7 @@ func NewServSubscribe(serv types.IService) (*ServSubscribe, error) {
 
 // Subscribe -- подписывает на топики по шаблону
 func (sf *ServSubscribe) Subscribe(req *netapi.SubscribeRequest, serv netapi.GoBus_SubscribeServer) error {
-	clientProxy, err := cleint_proxy.NewClientProxy(alias.ClientName(req.ClientName), alias.TopicName(req.Sample))
+	clientProxy, err := cleint_proxy.NewClientProxy(req)
 	if err != nil {
 		return fmt.Errorf("ServSubscribe.Subscribe(): in create ClientProxy, err=\n\t%w", err)
 	}

+ 15 - 6
pkg/net/cleint_proxy/client_proxy.go

@@ -22,15 +22,24 @@ type ClientProxy struct {
 }
 
 // NewClientProxy -- возвращает новый прокси подписывания клиента на топик
-func NewClientProxy(name alias.ClientName, sample alias.TopicName) (*ClientProxy, error) {
-	log.Printf("NewClientProxy(): name=%q, sample=%q\n", name, sample)
-	if name == "" {
-		return nil, fmt.Errorf("NewClientProxy(): name is empty")
+func NewClientProxy(req *netapi.SubscribeRequest) (*ClientProxy, error) {
+
+	{ // Предусловия
+		if req == nil {
+			return nil, fmt.Errorf("NewClientProxy(): SubscribeRequest==nil")
+		}
+		if req.ClientName == "" {
+			return nil, fmt.Errorf("NewClientProxy(): name is empty")
+		}
+		if req.Sample == "" {
+			return nil, fmt.Errorf("NewClientProxy(): sample is empty")
+		}
 	}
+	log.Printf("NewClientProxy(): name=%q, sample=%q\n", req.ClientName, req.Sample)
 	suffix := "_" + alias.ClientName(fmt.Sprint(time.Now().UnixMilli()))
 	sf := &ClientProxy{
-		name:   name + suffix,
-		sample: sample,
+		name:   alias.ClientName(req.ClientName) + suffix,
+		sample: alias.TopicName(req.Sample),
 		chMsg:  make(chan *netapi.TopicMsg, 10),
 		isWork: true,
 	}

+ 1 - 0
pkg/net/cleint_proxy/client_proxy_test.go

@@ -20,3 +20,4 @@ func TestAny(t *testing.T) {
 func (sf *tester) create() {
 	sf.t.Log("create")
 }
+