aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2023-08-22 09:59:04 -0700
committerchrislu <chris.lu@gmail.com>2023-08-22 09:59:04 -0700
commit94b7e2a37cc825119121ec41c1da4577470e4040 (patch)
tree348ad409343895bfc8227f632d18a8429a6ec675
parentccedad51964a274565d39dafce015c205fd3fb5d (diff)
downloadseaweedfs-94b7e2a37cc825119121ec41c1da4577470e4040.tar.xz
seaweedfs-94b7e2a37cc825119121ec41c1da4577470e4040.zip
add stream assign server side implementation
-rw-r--r--weed/server/master_grpc_server_assign.go19
1 files changed, 19 insertions, 0 deletions
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() {