本文整理汇总了C++中ObRootServer2::start_switch方法的典型用法代码示例。如果您正苦于以下问题:C++ ObRootServer2::start_switch方法的具体用法?C++ ObRootServer2::start_switch怎么用?C++ ObRootServer2::start_switch使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObRootServer2
的用法示例。
在下文中一共展示了ObRootServer2::start_switch方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: master_wrapper
TEST(ObRootServer2LogTest, start_switch)
{
ObRootServer2 master;
ObRootWorkerForTest master_worker;
ASSERT_TRUE(master.init("./root_server.conf", 100, &master_worker));
ObRootServerTester master_wrapper(&master);
master_wrapper.stop_thread();
ObRootServer2 slave;
ObRootWorkerForTest slave_worker;
ASSERT_TRUE(slave.init("./root_server.conf", 100, &slave_worker));
ObRootServerTester slave_wrapper(&slave);
slave_wrapper.stop_thread();
master_wrapper.set_master(true);
master_wrapper.stop_thread();
slave_wrapper.stop_thread();
slave_wrapper.set_master(false);
TBSYS_LOG(DEBUG, "Server status: %d", master_wrapper.get_server_status());
bool ret = master.start_switch();
TBSYS_LOG(DEBUG, "Server status: %d", master_wrapper.get_server_status());
ASSERT_TRUE(ret);
TBSYS_LOG(DEBUG, "master start switch done");
int64_t ts = master.get_time_stamp_changing();
ObRootLogWorker log_worker = slave_wrapper.get_log_worker();
log_worker.do_start_report(ts, true);
log_worker.do_start_switch(ts);
TBSYS_LOG(DEBUG, "slave start switch done");
int64_t slave_ts = slave.get_time_stamp_changing();
ASSERT_EQ(ts, slave_ts);
ASSERT_EQ(master_wrapper.get_server_status(), slave_wrapper.get_server_status());
}