diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-04-05 00:51:16 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-04-05 00:51:16 -0700 |
| commit | bf270d9e8c01052409464193b693d50fa09a70a9 (patch) | |
| tree | 75d7faa1a56d984fd78954df8dca8b65d2f60a00 /weed/operation/grpc_client.go | |
| parent | 2a2d92d06e440c661bc0b06ff9c5c7034e9fc465 (diff) | |
| download | seaweedfs-bf270d9e8c01052409464193b693d50fa09a70a9.tar.xz seaweedfs-bf270d9e8c01052409464193b693d50fa09a70a9.zip | |
filer: able to tail meta data changes
Diffstat (limited to 'weed/operation/grpc_client.go')
| -rw-r--r-- | weed/operation/grpc_client.go | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/weed/operation/grpc_client.go b/weed/operation/grpc_client.go index dccf85da4..025a65b38 100644 --- a/weed/operation/grpc_client.go +++ b/weed/operation/grpc_client.go @@ -9,6 +9,7 @@ import ( "github.com/chrislusf/seaweedfs/weed/glog" "github.com/chrislusf/seaweedfs/weed/pb" + "github.com/chrislusf/seaweedfs/weed/pb/filer_pb" "github.com/chrislusf/seaweedfs/weed/pb/master_pb" "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb" ) @@ -17,7 +18,7 @@ func WithVolumeServerClient(volumeServer string, grpcDialOption grpc.DialOption, grpcAddress, err := toVolumeServerGrpcAddress(volumeServer) if err != nil { - return err + return fmt.Errorf("failed to parse volume server %v: %v", volumeServer, err) } return pb.WithCachedGrpcClient(func(grpcConnection *grpc.ClientConn) error { @@ -41,7 +42,7 @@ func WithMasterServerClient(masterServer string, grpcDialOption grpc.DialOption, masterGrpcAddress, parseErr := pb.ParseServerToGrpcAddress(masterServer) if parseErr != nil { - return fmt.Errorf("failed to parse master grpc %v: %v", masterServer, parseErr) + return fmt.Errorf("failed to parse master %v: %v", masterServer, parseErr) } return pb.WithCachedGrpcClient(func(grpcConnection *grpc.ClientConn) error { @@ -50,3 +51,17 @@ func WithMasterServerClient(masterServer string, grpcDialOption grpc.DialOption, }, masterGrpcAddress, grpcDialOption) } + +func WithFilerServerClient(filerServer string, grpcDialOption grpc.DialOption, fn func(masterClient filer_pb.SeaweedFilerClient) error) error { + + filerGrpcAddress, parseErr := pb.ParseServerToGrpcAddress(filerServer) + if parseErr != nil { + return fmt.Errorf("failed to parse filer %v: %v", filerGrpcAddress, parseErr) + } + + return pb.WithCachedGrpcClient(func(grpcConnection *grpc.ClientConn) error { + client := filer_pb.NewSeaweedFilerClient(grpcConnection) + return fn(client) + }, filerGrpcAddress, grpcDialOption) + +} |
