如何在异步C++客户端中获取gRPC状态

问题描述 投票:0回答:1

我正在使用 C++ 实现 gRPC 异步客户端,我需要获取服务器返回的 grpc-status 来进行错误处理,但是 AsyncNext API 只返回与 CompletionQueue 关联的 NextStatus,而 CompletionQueue 不包含返回的状态由服务器但完成队列的状态。

如何获取服务器返回的grpc状态?我尝试将拦截器对象关联到通道,但我看不到任何带有接收状态挂钩点的调用。我希望当通道收到状态消息时应该调用 POST_RECV_STATUS 或 PRE_RECV_STATUS 挂钩点,不是吗?

grpc-c++
1个回答
0
投票

AsyncNext 也返回

&event_tag
。 您应该将此标签放入异步操作中:读取、写入、完成。

这是你的标签,它用于识别 gRPC 上下文。 您可以为此创建 TagContext Map。 并在 AsyncNext 循环事件操作后获取与返回标签关联的更新上下文。

© www.soinside.com 2019 - 2024. All rights reserved.