首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >关于 《从源码透析gRPC调用原理》 的问题?

关于 《从源码透析gRPC调用原理》 的问题?

提问于 2020-05-22 11:53:14
回答 0关注 0查看 337

handler里下面代码为什么要go出去 ,然后for里面监听响应?,这样频繁创建销毁很多资源会不会影响性能

```

// 启动流控,目的方->请求方 s2cErrChan := s.forwardServerToClient(serverStream, clientStream)

// 启动流控,请求方->目的方 c2sErrChan := s.forwardClientToServer(clientStream, serverStream)

```

如果不是streaming请求,只有unary请求,是否可以这样同步等待。感觉这样性能会好一点。求解惑❗️

```

func forwardAndResponse(client grpc.ClientStream, server grpc.ServerStream) (resp *frame, err error) {

f := &frame{}

if err = server.RecvMsg(f); err != nil {

return

}

if err := client.SendMsg(f); err != nil {

return

}

md, err := client.Header()

if err != nil {

return

}

if err := server.SendHeader(md); err != nil {

return

}

if err := client.RecvMsg(f); err != nil {

return

}

if err := server.SendMsg(f); err != nil {

return

}

return f, nil

}

```

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档