| 401 | } |
| 402 | |
| 403 | func (serv *MetadataServer) GetModels(stream pb.Api_GetModelsServer) error { |
| 404 | for { |
| 405 | name, err := stream.Recv() |
| 406 | if err == io.EOF { |
| 407 | return nil |
| 408 | } |
| 409 | if err != nil { |
| 410 | serv.Logger.Errorf("Failed to read client request: %v", err) |
| 411 | return err |
| 412 | } |
| 413 | proxyStream, err := serv.meta.GetModels(stream.Context()) |
| 414 | if err != nil { |
| 415 | return err |
| 416 | } |
| 417 | sErr := proxyStream.Send(name) |
| 418 | if sErr != nil { |
| 419 | return sErr |
| 420 | } |
| 421 | res, err := proxyStream.Recv() |
| 422 | if err != nil { |
| 423 | return err |
| 424 | } |
| 425 | sendErr := stream.Send(res) |
| 426 | if sendErr != nil { |
| 427 | return sendErr |
| 428 | } |
| 429 | } |
| 430 | } |
| 431 | |
| 432 | func (serv *MetadataServer) GetEquivalent(ctx context.Context, req *pb.ResourceVariant) (*pb.ResourceVariant, error) { |
| 433 | return serv.meta.GetEquivalent(ctx, req) |