gRPC C ++ API允许一个未完成的截止日期还是一个集合?

时间:2019-07-16 21:57:22

标签: c++ timeout grpc deadline-timer

我试图了解gRPC的期限,以及每个ClientContext是否有一个期限,还是gRPC保留了一组期限?

此处解释了该概念:https://www.grpc.io/docs/guides/concepts/

设置和检查截止日期,在此说明(带有代码): https://grpc.io/blog/deadlines/

但是,这两个问题都没有解决以下问题:当我设置截止日期时,是否可以取消它并替换为另一个截止时间,或者调用截止时间只是添加到截止时间/计时器列表中?

deadline_set(&context,200);
std::unique_ptr<ClientWriter<Thing> >
    writer( this->service_stub->Upload(&context, &response) );
...
for( total = 0L; total < file_size; ) {
    read_count = read( fd, buffer, buffer_size );
    ....
    thing.set_msgbuf(buffer, read_count);
    deadline_set(&context,200);
    writer->Write(chunk);

便捷功能设置截止日期的地方

void deadline_set(ClientContext* ctx, long value) {
    time_point deadline = std::chrono::system_clock::now() +
        std::chrono::milliseconds(value);
    ctx->set_deadline(deadline);
}

我发现此stackoverflow帖子指向源代码, Where is the code of gRPC that handles deadline in the client stub?

似乎没有保留列表或计时轮...

0 个答案:

没有答案