4 类ObRootWorker
这是个大家伙,它继承自前面讲过的ObBaseServer这个简单框架类。自此已经很接近底层了。
4.1 成员变量
ObRootWorker本身引用了很多类,有关于log系统的,有关于Packet的,有关于client manage的,还有关于rpc的,等等;ObRootWorker正是集合了这些资源,完成了Root Server的功能。其成员变量如下:
ObRootServer2 root_server_;
common::ObPacketQueueThreadread_thread_queue_;
common::ObPacketQueueThreadwrite_thread_queue_;
common::ObPacketQueueThreadlog_thread_queue_;
common::ObClientManager client_manager;
common::ObServer rt_master_;
common::ObServer self_addr_;
common::ObRoleMgr role_mgr_;
common::ObSlaveMgr slave_mgr_;
common::ObCheckRunnable check_thread_;
ObRootFetchThread fetch_thread_;
ObRootRpcStub rt_rpc_stub_;
ObRootLogReplay log_replay_thread_;
ObRootLogManager log_manager_;
ObRootStatManager stat_manager_;