我正在寻找截止日期何时开始倒计时以及gRPC的客户端存根中如何详细处理截止日期。我认为src / cpp / client / generic_stub.cc可能会讲一些细节。在以下来自generic_stub.cc的代码块中,我认为CallInternal()可能包含此类详细信息,但我没有通过名为Understand的软件来了解CallInternal()的实际作用。
// begin a call to a named method
std::unique_ptr<grpc::GenericClientAsyncReaderWriter> GenericStub::Call(
grpc::ClientContext* context, const grpc::string& method,
grpc::CompletionQueue* cq, void* tag) {
return CallInternal(channel_.get(), context, method, cq, true, tag);
}
那么,gRPC中代码的哪一部分包含我想要的细节?非常期待一个答案!谢谢!
答案 0 :(得分:1)
在grpc中,截止日期不是“递减”的,它们始终是根据当前时间检查的绝对值。
grpc中执行任何截止日期检查的代码位于以下位置:
https://github.com/grpc/grpc/blob/v1.21.3/src/core/ext/filters/deadline/deadline_filter.cc
就代码组织而言,您正在查看的C ++高层没有做太多的逻辑,因此您在这里找不到像这样的信息。通常,在各种包装语言之间共享的grpc核心是查找的地方。