void ChatTests::init() { /* User #1. */ SessionManager *sessionManager = SessionManager::getInstance(); QSignalSpy spy(sessionManager, SIGNAL(loginCompleted(QSharedPointer<Session>, bool, QString))); QVERIFY(spy.isValid()); QVERIFY(spy.isEmpty()); QSharedPointer<const LoginUser> u(new LoginUser(TEMP_SESSION_USER3, WORKING_DIR "public.pem", WORKING_DIR "private.pem")); sessionManager->login(SERVER_URL, CA_CERT, u, "password"); waitForResult(spy); QCOMPARE(spy.count(), 1); QList<QVariant> arguments = spy.takeFirst(); QVERIFY2(arguments.at(1) == true, arguments.at(2).toString().toStdString().c_str()); session = arguments.at(0).value<QSharedPointer<Session> >(); QSignalSpy spy2(session.data(), SIGNAL(initChatCompleted(QSharedPointer<Chat>, bool, QString))); QVERIFY(spy2.isValid()); QVERIFY(spy2.isEmpty()); session->initChat(); waitForResult(spy2); QCOMPARE(spy2.count(), 1); QList<QVariant> arguments2 = spy2.takeFirst(); QVERIFY2(arguments2.at(1) == true, arguments2.at(2).toString().toStdString().c_str()); chat = arguments2.at(0).value<QSharedPointer<Chat> >(); /* User #2. */ QSignalSpy spy3(sessionManager, SIGNAL(loginCompleted(QSharedPointer<Session>, bool, QString))); QVERIFY(spy3.isValid()); QVERIFY(spy3.isEmpty()); QSharedPointer<const LoginUser> u2(new LoginUser(TEMP_SESSION_USER2, WORKING_DIR "public.pem", WORKING_DIR "private.pem")); sessionManager->login(SERVER_URL, CA_CERT, u2, "password"); waitForResult(spy3); QCOMPARE(spy3.count(), 1); QList<QVariant> arguments3 = spy3.takeFirst(); QVERIFY2(arguments3.at(1) == true, arguments3.at(2).toString().toStdString().c_str()); session2 = arguments3.at(0).value<QSharedPointer<Session> >(); }
void SessionManagerTest::gene_info(int sleep_interval) { ASSERT_EQ(session_manager_->initialize(), TFS_SUCCESS); int session_ip = 86420; BaseInfo input_info; input_info.report_interval_ = 1; bool update_flag = false; // start // app0<->app0_session1 : login(illegal) string app0_key = "not_exist_key"; string app0_session1; ASSERT_EQ(session_manager_->login(app0_key, session_ip, app0_session1, input_info), EXIT_APP_NOTEXIST_ERROR); // app1<->app1_session1 : login string app1_key = "uc"; string app1_session1; ASSERT_EQ(session_manager_->login(app1_key, session_ip, app1_session1, input_info), TFS_SUCCESS); // app2<->app2_session1 : login keepalive string app2_key = "dc"; string app2_session1; ASSERT_EQ(session_manager_->login(app2_key, session_ip, app2_session1, input_info), TFS_SUCCESS); KeepAliveInfo ka_info_app2_1; ka_info_app2_1.last_report_time_ = time(NULL) + 10; ka_info_app2_1.s_base_info_.session_id_ = app2_session1; ka_info_app2_1.s_base_info_.client_version_ = "1.3.1"; ka_info_app2_1.s_base_info_.cache_size_ = 100000; ka_info_app2_1.s_base_info_.cache_time_ = 600; ka_info_app2_1.s_base_info_.modify_time_ = 200000; ka_info_app2_1.s_base_info_.is_logout_ = false; AppOperInfo app_info_2_1; app_info_2_1.oper_type_ = OPER_READ; app_info_2_1.oper_times_ = 10000; app_info_2_1.oper_size_ = 300000; app_info_2_1.oper_rt_= 200000; app_info_2_1.oper_succ_ = 9997; AppOperInfo app_info_2_2; app_info_2_2.oper_type_ = OPER_UNLINK; app_info_2_2.oper_times_ = 500; app_info_2_2.oper_size_ = 60000; app_info_2_2.oper_rt_= 20000; app_info_2_2.oper_succ_ = 499; ka_info_app2_1.s_stat_.app_oper_info_[OPER_READ] = app_info_2_1; ka_info_app2_1.s_stat_.app_oper_info_[OPER_UNLINK] = app_info_2_2; ka_info_app2_1.s_stat_.cache_hit_ratio_ = 90; ASSERT_EQ(session_manager_->keep_alive(app2_session1, ka_info_app2_1, update_flag, input_info), TFS_SUCCESS); // app3<->app3_session1 : login keepalive keepalive string app3_key = "cc"; string app3_session1; ASSERT_EQ(session_manager_->login(app3_key, session_ip, app3_session1, input_info), TFS_SUCCESS); KeepAliveInfo ka_info_app3_1; ka_info_app3_1.last_report_time_ = time(NULL) + 12; ka_info_app3_1.s_base_info_.session_id_ = app3_session1; ka_info_app3_1.s_base_info_.client_version_ = "1.3.1"; ka_info_app3_1.s_base_info_.cache_size_ = 310000; ka_info_app3_1.s_base_info_.cache_time_ = 700; ka_info_app3_1.s_base_info_.modify_time_ = 100000; ka_info_app3_1.s_base_info_.is_logout_ = false; AppOperInfo app_info_3_1; app_info_3_1.oper_type_ = OPER_READ; app_info_3_1.oper_times_ = 20000; app_info_3_1.oper_size_ = 600000; app_info_3_1.oper_rt_= 400000; app_info_3_1.oper_succ_ = 19000; AppOperInfo app_info_3_2; app_info_3_2.oper_type_ = OPER_WRITE; app_info_3_2.oper_times_ = 1000; app_info_3_2.oper_size_ = 50000; app_info_3_2.oper_rt_= 10000; app_info_3_2.oper_succ_ = 999; ka_info_app3_1.s_stat_.app_oper_info_[OPER_READ] = app_info_3_1; ka_info_app3_1.s_stat_.app_oper_info_[OPER_WRITE] = app_info_3_2; ka_info_app3_1.s_stat_.cache_hit_ratio_ = 91; ASSERT_EQ(session_manager_->keep_alive(app3_session1, ka_info_app3_1, update_flag, input_info), TFS_SUCCESS); KeepAliveInfo ka_info_app3_2; ka_info_app3_2.last_report_time_ = time(NULL) + 18; ka_info_app3_2.s_base_info_.session_id_ = app3_session1; ka_info_app3_2.s_base_info_.client_version_ = "1.3.2"; ka_info_app3_2.s_base_info_.cache_size_ = 320000; ka_info_app3_2.s_base_info_.cache_time_ = 800; ka_info_app3_2.s_base_info_.modify_time_ = 110000; ka_info_app3_2.s_base_info_.is_logout_ = false; AppOperInfo app_info_3_3; app_info_3_3.oper_type_ = OPER_UNIQUE_WRITE; app_info_3_3.oper_times_ = 1000; app_info_3_3.oper_size_ = 50000; app_info_3_3.oper_rt_= 10000; app_info_3_3.oper_succ_ = 999; AppOperInfo app_info_3_4; app_info_3_4.oper_type_ = OPER_READ; app_info_3_4.oper_times_ = 15000; app_info_3_4.oper_size_ = 500000; app_info_3_4.oper_rt_= 300000; app_info_3_4.oper_succ_ = 15000; ka_info_app3_2.s_stat_.app_oper_info_[OPER_READ] = app_info_3_4; ka_info_app3_2.s_stat_.app_oper_info_[OPER_UNIQUE_WRITE] = app_info_3_3; ka_info_app3_2.s_stat_.cache_hit_ratio_ = 89; ASSERT_EQ(session_manager_->keep_alive(app3_session1, ka_info_app3_2, update_flag, input_info), TFS_SUCCESS); // app4<->app4_session1 : login keepalive keepalive logout string app4_key = "fc"; string app4_session1; ASSERT_EQ(session_manager_->login(app4_key, session_ip, app4_session1, input_info), TFS_SUCCESS); KeepAliveInfo ka_info_app4_1; ka_info_app4_1.last_report_time_ = time(NULL) + 20; ka_info_app4_1.s_base_info_.session_id_ = app3_session1; ka_info_app4_1.s_base_info_.client_version_ = "1.3.2"; ka_info_app4_1.s_base_info_.cache_size_ = 200000; ka_info_app4_1.s_base_info_.cache_time_ = 800; ka_info_app4_1.s_base_info_.modify_time_ = 100000; ka_info_app4_1.s_base_info_.is_logout_ = false; AppOperInfo app_info_4_1; app_info_4_1.oper_type_ = OPER_UNLINK; app_info_4_1.oper_times_ = 1000; app_info_4_1.oper_size_ = 6000; app_info_4_1.oper_rt_= 40000; app_info_4_1.oper_succ_ = 1000; AppOperInfo app_info_4_2; app_info_4_2.oper_type_ = OPER_WRITE; app_info_4_2.oper_times_ = 2000; app_info_4_2.oper_size_ = 100000; app_info_4_2.oper_rt_= 20000; app_info_4_2.oper_succ_ = 1999; ka_info_app4_1.s_stat_.app_oper_info_[OPER_UNLINK] = app_info_4_1; ka_info_app4_1.s_stat_.app_oper_info_[OPER_WRITE] = app_info_4_2; ka_info_app4_1.s_stat_.cache_hit_ratio_ = 95; ASSERT_EQ(session_manager_->keep_alive(app4_session1, ka_info_app4_1, update_flag, input_info), TFS_SUCCESS); KeepAliveInfo ka_info_app4_2; ka_info_app4_2.last_report_time_ = time(NULL) + 25; ka_info_app4_2.s_base_info_.session_id_ = app3_session1; ka_info_app4_2.s_base_info_.client_version_ = "1.3.2"; ka_info_app4_2.s_base_info_.cache_size_ = 320000; ka_info_app4_2.s_base_info_.cache_time_ = 800; ka_info_app4_2.s_base_info_.modify_time_ = 110000; ka_info_app4_2.s_base_info_.is_logout_ = false; AppOperInfo app_info_4_3; app_info_4_3.oper_type_ = OPER_UNIQUE_WRITE; app_info_4_3.oper_times_ = 6000; app_info_4_3.oper_size_ = 90000; app_info_4_3.oper_rt_= 30000; app_info_4_3.oper_succ_ = 5999; AppOperInfo app_info_4_4; app_info_4_4.oper_type_ = OPER_READ; app_info_4_4.oper_times_ = 25000; app_info_4_4.oper_size_ = 900000; app_info_4_4.oper_rt_= 500000; app_info_4_4.oper_succ_ = 25000; ka_info_app4_2.s_stat_.app_oper_info_[OPER_READ] = app_info_4_4; ka_info_app4_2.s_stat_.app_oper_info_[OPER_UNIQUE_WRITE] = app_info_4_3; ka_info_app4_2.s_stat_.cache_hit_ratio_ = 98; ASSERT_EQ(session_manager_->keep_alive(app4_session1, ka_info_app4_2, update_flag, input_info), TFS_SUCCESS); KeepAliveInfo ka_info_app4_3; ka_info_app4_3.last_report_time_ = time(NULL) + 30; ka_info_app4_3.s_base_info_.session_id_ = app3_session1; ka_info_app4_3.s_base_info_.client_version_ = "1.3.2"; ka_info_app4_3.s_base_info_.cache_size_ = 420000; ka_info_app4_3.s_base_info_.cache_time_ = 600; ka_info_app4_3.s_base_info_.modify_time_ = 120000; ka_info_app4_3.s_base_info_.is_logout_ = true; AppOperInfo app_info_4_5; app_info_4_5.oper_type_ = OPER_UNIQUE_WRITE; app_info_4_5.oper_times_ = 6000; app_info_4_5.oper_size_ = 90000; app_info_4_5.oper_rt_= 30000; app_info_4_5.oper_succ_ = 5999; ka_info_app4_3.s_stat_.app_oper_info_[OPER_UNIQUE_WRITE] = app_info_4_5; ka_info_app4_3.s_stat_.cache_hit_ratio_ = 97; ASSERT_EQ(session_manager_->logout(app4_session1, ka_info_app4_3), TFS_SUCCESS); // app5<->app5_session1 : keepalive // Todo // app6<->app6_session1 : login string app6_key = "gc"; int64_t session_ip_6 = 9000007; string app6_session1; BaseInfo base_input_info; base_input_info.report_interval_ = 1; ASSERT_EQ(session_manager_->login(app6_key, session_ip_6, app6_session1, base_input_info), TFS_SUCCESS); // app6<->app6_session2 : login keepalive string app6_session2; ASSERT_EQ(session_manager_->login(app6_key, session_ip_6, app6_session2, base_input_info), TFS_SUCCESS); KeepAliveInfo ka_info_app6_1; ka_info_app6_1.last_report_time_ = time(NULL) + 100; ka_info_app6_1.s_base_info_.session_id_ = app6_session2; ka_info_app6_1.s_base_info_.client_version_ = "2.1.0"; ka_info_app6_1.s_base_info_.cache_size_ = 200000; ka_info_app6_1.s_base_info_.cache_time_ = 1200; ka_info_app6_1.s_base_info_.modify_time_ = 100000; ka_info_app6_1.s_base_info_.is_logout_ = false; AppOperInfo app_info_6_2_1; app_info_6_2_1.oper_type_ = OPER_UNIQUE_WRITE; app_info_6_2_1.oper_times_ = 6000; app_info_6_2_1.oper_size_ = 90000; app_info_6_2_1.oper_rt_= 30000; app_info_6_2_1.oper_succ_ = 5999; AppOperInfo app_info_6_2_2; app_info_6_2_2.oper_type_ = OPER_READ; app_info_6_2_2.oper_times_ = 24000; app_info_6_2_2.oper_size_ = 800000; app_info_6_2_2.oper_rt_= 400000; app_info_6_2_2.oper_succ_ = 23000; ka_info_app6_1.s_stat_.app_oper_info_[OPER_UNIQUE_WRITE] = app_info_6_2_1; ka_info_app6_1.s_stat_.app_oper_info_[OPER_READ] = app_info_6_2_2; ka_info_app6_1.s_stat_.cache_hit_ratio_ = 95; ASSERT_EQ(session_manager_->keep_alive(app6_session2, ka_info_app6_1, update_flag, base_input_info), TFS_SUCCESS); // app6<->app6_session3 : keepalive keepalive string app6_session3 = "10007-8943231-542143-54364-65375"; KeepAliveInfo ka_info_app6_2; ka_info_app6_2.last_report_time_ = time(NULL) + 120; ka_info_app6_2.s_base_info_.session_id_ = app6_session3; ka_info_app6_2.s_base_info_.client_version_ = "2.0.2"; ka_info_app6_2.s_base_info_.cache_size_ = 100000; ka_info_app6_2.s_base_info_.cache_time_ = 1000; ka_info_app6_2.s_base_info_.modify_time_ = 120000; ka_info_app6_2.s_base_info_.is_logout_ = false; AppOperInfo app_info_6_3_1; app_info_6_3_1.oper_type_ = OPER_WRITE; app_info_6_3_1.oper_times_ = 4000; app_info_6_3_1.oper_size_ = 80000; app_info_6_3_1.oper_rt_= 20000; app_info_6_3_1.oper_succ_ = 3999; AppOperInfo app_info_6_3_2; app_info_6_3_2.oper_type_ = OPER_READ; app_info_6_3_2.oper_times_ = 23000; app_info_6_3_2.oper_size_ = 800000; app_info_6_3_2.oper_rt_= 400000; app_info_6_3_2.oper_succ_ = 23000; ka_info_app6_2.s_stat_.app_oper_info_[OPER_WRITE] = app_info_6_3_1; ka_info_app6_2.s_stat_.app_oper_info_[OPER_READ] = app_info_6_3_2; ka_info_app6_2.s_stat_.cache_hit_ratio_ = 96; ASSERT_EQ(session_manager_->keep_alive(app6_session3, ka_info_app6_2, update_flag, base_input_info), TFS_SUCCESS); KeepAliveInfo ka_info_app6_3; ka_info_app6_3.last_report_time_ = time(NULL) + 200; ka_info_app6_3.s_base_info_.session_id_ = app6_session3; ka_info_app6_3.s_base_info_.client_version_ = "2.0.2"; ka_info_app6_3.s_base_info_.cache_size_ = 100000; ka_info_app6_3.s_base_info_.cache_time_ = 1000; ka_info_app6_3.s_base_info_.modify_time_ = 120000; ka_info_app6_3.s_base_info_.is_logout_ = false; AppOperInfo app_info_6_3_3; app_info_6_3_3.oper_type_ = OPER_WRITE; app_info_6_3_3.oper_times_ = 14000; app_info_6_3_3.oper_size_ = 80000; app_info_6_3_3.oper_rt_= 20000; app_info_6_3_3.oper_succ_ = 13999; ka_info_app6_3.s_stat_.app_oper_info_[OPER_WRITE] = app_info_6_3_3; ka_info_app6_3.s_stat_.cache_hit_ratio_ = 97; ASSERT_EQ(session_manager_->keep_alive(app6_session3, ka_info_app6_3, update_flag, base_input_info), TFS_SUCCESS); // app6<->app6_session4 : keepalive logout string app6_session4 = "10007-89479900-542143-54364-65375"; KeepAliveInfo ka_info_app6_4_1; ka_info_app6_4_1.last_report_time_ = time(NULL) + 320; ka_info_app6_4_1.s_base_info_.session_id_ = app6_session4; ka_info_app6_4_1.s_base_info_.client_version_ = "2.1.2"; ka_info_app6_4_1.s_base_info_.cache_size_ = 200000; ka_info_app6_4_1.s_base_info_.cache_time_ = 2000; ka_info_app6_4_1.s_base_info_.modify_time_ = 220000; ka_info_app6_4_1.s_base_info_.is_logout_ = false; AppOperInfo app_info_6_4_1; app_info_6_4_1.oper_type_ = OPER_WRITE; app_info_6_4_1.oper_times_ = 4000; app_info_6_4_1.oper_size_ = 80000; app_info_6_4_1.oper_rt_= 20000; app_info_6_4_1.oper_succ_ = 3999; AppOperInfo app_info_6_4_2; app_info_6_4_2.oper_type_ = OPER_READ; app_info_6_4_2.oper_times_ = 23000; app_info_6_4_2.oper_size_ = 800000; app_info_6_4_2.oper_rt_= 400000; app_info_6_4_2.oper_succ_ = 23000; ka_info_app6_4_1.s_stat_.app_oper_info_[OPER_WRITE] = app_info_6_4_1; ka_info_app6_4_1.s_stat_.app_oper_info_[OPER_READ] = app_info_6_4_2; ka_info_app6_4_1.s_stat_.cache_hit_ratio_ = 95; ASSERT_EQ(session_manager_->keep_alive(app6_session4, ka_info_app6_4_1, update_flag, base_input_info), TFS_SUCCESS); KeepAliveInfo ka_info_app6_4_2; ka_info_app6_4_2.last_report_time_ = time(NULL) + 200; ka_info_app6_4_2.s_base_info_.session_id_ = app6_session3; ka_info_app6_4_2.s_base_info_.client_version_ = "2.0.2"; ka_info_app6_4_2.s_base_info_.cache_size_ = 100000; ka_info_app6_4_2.s_base_info_.cache_time_ = 1000; ka_info_app6_4_2.s_base_info_.modify_time_ = 120000; ka_info_app6_4_2.s_base_info_.is_logout_ = false; AppOperInfo app_info_6_4_3; app_info_6_4_3.oper_type_ = OPER_WRITE; app_info_6_4_3.oper_times_ = 14000; app_info_6_4_3.oper_size_ = 80000; app_info_6_4_3.oper_rt_= 20000; app_info_6_4_3.oper_succ_ = 13999; ka_info_app6_4_2.s_stat_.app_oper_info_[OPER_WRITE] = app_info_6_4_3; ka_info_app6_4_2.s_stat_.cache_hit_ratio_ = 93; ASSERT_EQ(session_manager_->logout(app6_session3, ka_info_app6_4_2), TFS_SUCCESS); // app6<->app6_session4 : login keepalive keepalive logout cout << "first sleep " << sleep_interval << "s" << endl; sleep(sleep_interval); cout << "end first sleep " << sleep_interval << "s" << endl; // app3<->app3_session1 : keepalive logout { KeepAliveInfo ka_info_app3_1; ka_info_app3_1.last_report_time_ = 15000; ka_info_app3_1.s_base_info_.session_id_ = app3_session1; ka_info_app3_1.s_base_info_.client_version_ = "1.3.1"; ka_info_app3_1.s_base_info_.cache_size_ = 310000; ka_info_app3_1.s_base_info_.cache_time_ = 700; ka_info_app3_1.s_base_info_.modify_time_ = 100000; ka_info_app3_1.s_base_info_.is_logout_ = false; AppOperInfo app_info_3_1; app_info_3_1.oper_type_ = OPER_READ; app_info_3_1.oper_times_ = 20000; app_info_3_1.oper_size_ = 600000; app_info_3_1.oper_rt_= 400000; app_info_3_1.oper_succ_ = 19000; AppOperInfo app_info_3_2; app_info_3_2.oper_type_ = OPER_WRITE; app_info_3_2.oper_times_ = 1000; app_info_3_2.oper_size_ = 50000; app_info_3_2.oper_rt_= 10000; app_info_3_2.oper_succ_ = 999; ka_info_app3_1.s_stat_.app_oper_info_[OPER_READ] = app_info_3_1; ka_info_app3_1.s_stat_.app_oper_info_[OPER_WRITE] = app_info_3_2; ka_info_app3_1.s_stat_.cache_hit_ratio_ = 91; ASSERT_EQ(session_manager_->keep_alive(app3_session1, ka_info_app3_1, update_flag, input_info), TFS_SUCCESS); KeepAliveInfo ka_info_app3_2; ka_info_app3_2.last_report_time_ = 16000; ka_info_app3_2.s_base_info_.session_id_ = app3_session1; ka_info_app3_2.s_base_info_.client_version_ = "1.3.2"; ka_info_app3_2.s_base_info_.cache_size_ = 320000; ka_info_app3_2.s_base_info_.cache_time_ = 800; ka_info_app3_2.s_base_info_.modify_time_ = 110000; ka_info_app3_2.s_base_info_.is_logout_ = false; AppOperInfo app_info_3_3; app_info_3_3.oper_type_ = OPER_UNIQUE_WRITE; app_info_3_3.oper_times_ = 1000; app_info_3_3.oper_size_ = 50000; app_info_3_3.oper_rt_= 10000; app_info_3_3.oper_succ_ = 999; AppOperInfo app_info_3_4; app_info_3_4.oper_type_ = OPER_READ; app_info_3_4.oper_times_ = 15000; app_info_3_4.oper_size_ = 500000; app_info_3_4.oper_rt_= 300000; app_info_3_4.oper_succ_ = 15000; ka_info_app3_2.s_stat_.app_oper_info_[OPER_READ] = app_info_3_4; ka_info_app3_2.s_stat_.app_oper_info_[OPER_UNIQUE_WRITE] = app_info_3_3; ka_info_app3_2.s_stat_.cache_hit_ratio_ = 89; ASSERT_EQ(session_manager_->logout(app3_session1, ka_info_app3_2), TFS_SUCCESS); } // app6<->app6_session7 : keepalive { KeepAliveInfo ka_info_app6_4_1; ka_info_app6_4_1.last_report_time_ = time(NULL) + 320; ka_info_app6_4_1.s_base_info_.session_id_ = app6_session4; ka_info_app6_4_1.s_base_info_.client_version_ = "2.1.2"; ka_info_app6_4_1.s_base_info_.cache_size_ = 200000; ka_info_app6_4_1.s_base_info_.cache_time_ = 2000; ka_info_app6_4_1.s_base_info_.modify_time_ = 220000; ka_info_app6_4_1.s_base_info_.is_logout_ = false; AppOperInfo app_info_6_4_1; app_info_6_4_1.oper_type_ = OPER_WRITE; app_info_6_4_1.oper_times_ = 4000; app_info_6_4_1.oper_size_ = 80000; app_info_6_4_1.oper_rt_= 20000; app_info_6_4_1.oper_succ_ = 3999; AppOperInfo app_info_6_4_2; app_info_6_4_2.oper_type_ = OPER_READ; app_info_6_4_2.oper_times_ = 23000; app_info_6_4_2.oper_size_ = 800000; app_info_6_4_2.oper_rt_= 400000; app_info_6_4_2.oper_succ_ = 23000; ka_info_app6_4_1.s_stat_.app_oper_info_[OPER_WRITE] = app_info_6_4_1; ka_info_app6_4_1.s_stat_.app_oper_info_[OPER_READ] = app_info_6_4_2; ka_info_app6_4_1.s_stat_.cache_hit_ratio_ = 95; ASSERT_EQ(session_manager_->keep_alive(app6_session4, ka_info_app6_4_1, update_flag, base_input_info), TFS_SUCCESS); } cout << "second sleep " << sleep_interval << "s" << endl; sleep(sleep_interval/2); { KeepAliveInfo ka_info_app6_4_1; ka_info_app6_4_1.last_report_time_ = time(NULL) + 320; ka_info_app6_4_1.s_base_info_.session_id_ = app6_session4; ka_info_app6_4_1.s_base_info_.client_version_ = "2.1.2"; ka_info_app6_4_1.s_base_info_.cache_size_ = 200000; ka_info_app6_4_1.s_base_info_.cache_time_ = 2000; ka_info_app6_4_1.s_base_info_.modify_time_ = 220000; ka_info_app6_4_1.s_base_info_.is_logout_ = false; AppOperInfo app_info_6_4_1; app_info_6_4_1.oper_type_ = OPER_WRITE; app_info_6_4_1.oper_times_ = 4000; app_info_6_4_1.oper_size_ = 80000; app_info_6_4_1.oper_rt_= 20000; app_info_6_4_1.oper_succ_ = 3999; AppOperInfo app_info_6_4_2; app_info_6_4_2.oper_type_ = OPER_READ; app_info_6_4_2.oper_times_ = 23000; app_info_6_4_2.oper_size_ = 800000; app_info_6_4_2.oper_rt_= 400000; app_info_6_4_2.oper_succ_ = 23000; ka_info_app6_4_1.s_stat_.app_oper_info_[OPER_WRITE] = app_info_6_4_1; ka_info_app6_4_1.s_stat_.app_oper_info_[OPER_READ] = app_info_6_4_2; ka_info_app6_4_1.s_stat_.cache_hit_ratio_ = 95; ASSERT_EQ(session_manager_->keep_alive(app6_session4, ka_info_app6_4_1, update_flag, base_input_info), TFS_SUCCESS); } sleep(sleep_interval/2); cout << "end second sleep " << sleep_interval << "s" << endl; session_manager_->stop(); }