diff options
| author | chrislu <chris.lu@gmail.com> | 2023-08-22 09:59:04 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2023-08-22 09:59:04 -0700 |
| commit | 94b7e2a37cc825119121ec41c1da4577470e4040 (patch) | |
| tree | 348ad409343895bfc8227f632d18a8429a6ec675 | |
| parent | ccedad51964a274565d39dafce015c205fd3fb5d (diff) | |
| download | seaweedfs-94b7e2a37cc825119121ec41c1da4577470e4040.tar.xz seaweedfs-94b7e2a37cc825119121ec41c1da4577470e4040.zip | |
add stream assign server side implementation
| -rw-r--r-- | weed/server/master_grpc_server_assign.go | 19 |
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() { |
