ServerFiles returns all the server files for every gRPC service. The files contain the server which implements the generated gRPC server interface and encoders and decoders to transform protocol buffer types and gRPC metadata into goa types and vice versa.
(genpkg string, services *ServicesData)
| 14 | // encoders and decoders to transform protocol buffer types and gRPC metadata |
| 15 | // into goa types and vice versa. |
| 16 | func ServerFiles(genpkg string, services *ServicesData) []*codegen.File { |
| 17 | svcLen := len(services.Root.API.GRPC.Services) |
| 18 | fw := make([]*codegen.File, 2*svcLen) |
| 19 | for i, svc := range services.Root.API.GRPC.Services { |
| 20 | fw[i] = serverFile(genpkg, svc, services) |
| 21 | } |
| 22 | for i, svc := range services.Root.API.GRPC.Services { |
| 23 | fw[i+svcLen] = serverEncodeDecode(genpkg, svc, services) |
| 24 | } |
| 25 | return fw |
| 26 | } |
| 27 | |
| 28 | // serverFile returns the files defining the gRPC server. |
| 29 | func serverFile(genpkg string, svc *expr.GRPCServiceExpr, services *ServicesData) *codegen.File { |