我为gRPC使用了异步C ++客户端,但我无法为每个请求设置超时,当我使用同步客户端时,我可以通过ClientContext.set_deadline()设置超时,但此方法不生效在异步客户端;
我担心当gRPC服务器崩溃时,那么一些请求将永远在完成队列中,但是我希望当完成队列中的请求在指定的时间段内没有收到响应时,那么它可以通知请求超时。
我该如何实现这一目标?
等待你的回答,谢谢!
答案 0 :(得分:0)
我不确定我是否完全理解了这个问题,但您应该能够在开始调用之前使用ClientContext上的set_deadline设置RPC的截止日期。 截止日期到期后,完成队列Next操作应该以超时返回。