首页
学习
活动
专区
圈层
工具
发布

GRPC-C++源码分析(九)--Server

对应《GRPC-C++源码分析(三)--main线程》中的1.2节 创建Server

代码语言:javascript
复制
  std::unique_ptr<Server> server(new Server(
      max_receive_message_size_, &args, sync_server_cqs,
      sync_server_settings_.min_pollers, sync_server_settings_.max_pollers,
      sync_server_settings_.cq_timeout_msec, resource_quota_,
      std::move(interceptor_creators_)));
  • sync_server_cqs作为参数传到了Server构造函数中,赋给了sync_server_cqs_

在Server的构造函数中填充了sync_req_mgrs_

代码语言:javascript
复制
    for (const auto& it : *sync_server_cqs_) {
      sync_req_mgrs_.emplace_back(new SyncRequestThreadManager(
          this, it.get(), global_callbacks_, server_rq, min_pollers,
          max_pollers, sync_cq_timeout_msec));
    }
  • 注意sync_server_cqs_作为参数传到了SyncRequestThreadManager构造函数中,赋给了server_cq_,这个server_cq_会在后面用到

在Server的构造函数中生成了grpc_server* server_;

代码语言:javascript
复制
server_ = grpc_server_create(&channel_args, nullptr);
  • 这里的server_会在稍后的grpc_server_register_completion_queue方法中用到
下一篇
举报
领券