前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GRPC-C++源码分析(八)--ServerCompletionQueue续

GRPC-C++源码分析(八)--ServerCompletionQueue续

原创
作者头像
路小饭
修改2019-04-23 09:54:37
1.5K0
修改2019-04-23 09:54:37
举报

3.3 小结

还是回到开头CompletionQueue类的构造函数

代码语言:javascript
复制
  CompletionQueue(const grpc_completion_queue_attributes& attributes) {
    cq_ = g_core_codegen_interface->grpc_completion_queue_create(
        g_core_codegen_interface->grpc_completion_queue_factory_lookup(
            &attributes),
        &attributes, NULL);
    InitialAvalanching();  // reserve this for the future shutdown
  }

看下最终得到的grpc_completion_queue* cq_的结构

  • 明确一点,CompletionQueue中得到的cq_已经不是一个“单纯”的grpc_completion_queue类型,还包括一个cq_next_data类型和一个grpc_pollset类型
  • 整个第3节,除了获得一个cq_变量,更重要的是获得了一个全局变量:grpc_event_engine_vtable* g_event_engine,一起回顾下惯用套路

  • 黑色箭头1-3说明了pollset.cc文件中的grpc_pollset_impl指针是如何被赋值的
  • 红色箭头1-3说明了外部调用时候,是如何最终转到g_event_engine变量中的

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.3 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com