code: func call(c context.Context, client *prpc.Client, req *request, out io.Writer) error {
  	var inf, outf prpc.Format
  	var message []byte
  	switch req.format {
  
  	default:
  		var buf bytes.Buffer
  		if _, err := buf.ReadFrom(req.message); err != nil {
  			return err
  		}
  		message = buf.Bytes()
  		inf = req.format.Format()
  		outf = inf
  	}
  
  	// Send the request.
  	var hmd, tmd metadata.MD
  	res, err := client.CallRaw(c, req.service, req.method, message, inf, outf, prpc.Header(&hmd), prpc.Trailer(&tmd))
  	if err != nil {
  		return &exitCode{err, int(grpc.Code(err))}
  	}
  
  	// Read response.
  	if _, err := out.Write(res); err != nil {
  		return fmt.Errorf("failed to write response: %s", err)
  	}
  	return err
  }
docs: // call makes an RPC and writes response to out.