如何在 gRPC 的异步C++客户端中为每个请求设置超时?

how can I set timeout for each request in asynchronous C++ client for gRPC?

本文关键字:请求 设置 超时 客户端 gRPC C++ 异步      更新时间:2023-10-16

我在gRPC中使用了异步C++客户端,但是我无法为每个请求设置超时,当我使用同步客户端时,我可以通过ClientContext.set_deadline()设置超时,但是这种方法在异步客户端中不起作用;

我担心当gRPC服务器崩溃时,某些请求将永远在完成队列中,但是我希望当完成队列中的请求在指定的时间段内没有收到响应时,它可以通知请求超时。

我怎样才能实现这一目标?

等待您的回答,谢谢!

我不确定我是否完全理解这个问题,但是在开始调用之前,您应该能够在ClientContext上使用set_deadline设置RPC的截止日期。 截止时间到期后,完成队列"下一个操作"应返回超时。