From 94b7e2a37cc825119121ec41c1da4577470e4040 Mon Sep 17 00:00:00 2001 From: chrislu Date: Tue, 22 Aug 2023 09:59:04 -0700 Subject: [PATCH] add stream assign server side implementation --- weed/server/master_grpc_server_assign.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/weed/server/master_grpc_server_assign.go b/weed/server/master_grpc_server_assign.go index b55d6a80e..34e85d752 100644 --- a/weed/server/master_grpc_server_assign.go +++ b/weed/server/master_grpc_server_assign.go @@ -3,6 +3,7 @@ package weed_server import ( "context" "fmt" + "github.com/seaweedfs/seaweedfs/weed/glog" "time" "github.com/seaweedfs/raft" @@ -15,6 +16,24 @@ import ( "github.com/seaweedfs/seaweedfs/weed/topology" ) +func (ms *MasterServer) StreamAssign(server master_pb.Seaweed_StreamAssignServer) error { + for { + req, err := server.Recv() + if err != nil { + glog.Errorf("StreamAssign failed to receive: %v", err) + return err + } + resp, err := ms.Assign(context.Background(), req) + if err != nil { + glog.Errorf("StreamAssign failed to assign: %v", err) + return err + } + if err = server.Send(resp); err != nil { + glog.Errorf("StreamAssign failed to send: %v", err) + return err + } + } +} func (ms *MasterServer) Assign(ctx context.Context, req *master_pb.AssignRequest) (*master_pb.AssignResponse, error) { if !ms.Topo.IsLeader() {