void CtpMgr::onMdSmStateChanged(int state) { if (state == MDSM_CONNECTED) { if(autoLoginMd_){ mdsm_->login(1000); } } if (state == MDSM_DISCONNECTED) { mdsm_logined_ = false; //析构ringbuffer g_sm->dataPump()->freeRingBuffer(); emit mdDisconnect(); } if (state == MDSM_LOGINED) { mdsm_logined_ = true; tryStartSubscrible(); } if (state == MDSM_LOGINFAIL){ mdsm_->login(60*1000); } if (state == MDSM_STOPPED) { //析构ringbuffer g_sm->dataPump()->freeRingBuffer(); mdsm_thread_->quit(); mdsm_thread_->wait(); delete mdsm_thread_; mdsm_thread_ = nullptr; mdsm_ = nullptr; mdsm_logined_ = false; emit mdStopped(); } }
void CtpMgr::onTdSmStateChanged(int state) { if (state == TDSM_CONNECTED) { if(autoLoginTd_){ tdsm_->login(1000); } } if (state == TDSM_DISCONNECTED) { tdsm_logined_ = false; } if (state == TDSM_LOGINED) { tdsm_logined_ = true; tryStartSubscrible(); } if (state == TDSM_LOGINFAIL){ tdsm_->login(60*1000); } if (state == TDSM_LOGOUTED) { tdsm_logined_ = false; tdsm_->stop(); } if (state == TDSM_LOGOUTFAIL){ tdsm_logined_ = false; tdsm_->stop(); } if (state == TDSM_STOPPED) { tdsm_thread_->quit(); tdsm_thread_->wait(); delete tdsm_thread_; tdsm_thread_ = nullptr; tdsm_ = nullptr; tdsm_logined_ = false; } }
void GatewayMgr::onTdSmStateChanged(int state) { g_sm->checkCurrentOn(ServiceMgr::LOGIC); if (!tdsm_) { BfDebug("tdsm freed,ingore onTdSmStateChanged:%d", state); return; } if (state == TDSM_CONNECTED) { tdsm_logined_ = false; if (autoLoginTd_) { tdsm_->login(1000); } else { tdsm_->stop(); } } if (state == TDSM_DISCONNECTED) { resetCmds(); tdsm_logined_ = false; if (!autoLoginTd_) { tdsm_->stop(); } else { BfInfo("waiting for tdapi auto-reconnect......"); } } if (state == TDSM_LOGINED) { tdsm_logined_ = true; tryStartSubscrible(); } if (state == TDSM_LOGINFAIL) { if (autoLoginTd_) { BfInfo("tdsm login fail,try again 1 minute later"); tdsm_->login(60 * 1000); } else { tdsm_->stop(); } } if (state == TDSM_LOGOUTED) { tdsm_logined_ = false; tdsm_->stop(); } if (state == TDSM_LOGOUTFAIL) { tdsm_logined_ = false; tdsm_->stop(); } if (state == TDSM_STOPPED) { resetCmds(); tdsm_logined_ = false; delete tdsm_; tdsm_ = nullptr; tdsm_logined_ = false; } }
void CtpMgr::onMdSmStateChanged(int state) { g_sm->checkCurrentOn(ServiceMgr::LOGIC); if (!mdsm_) { BfDebug("mdsm freed,ingore onMdSmStateChanged:%d", state); return; } if (state == MDSM_CONNECTED) { mdsm_logined_ = false; if (autoLoginMd_) { mdsm_->login(1000, ""); } else { mdsm_->stop(); } } if (state == MDSM_DISCONNECTED) { mdsm_logined_ = false; if (!autoLoginMd_) { mdsm_->stop(); }else{ BfInfo("waiting for mdapi auto-reconnect......"); } } if (state == MDSM_LOGINED) { mdsm_logined_ = true; tryStartSubscrible(); } if (state == MDSM_LOGINFAIL) { if (autoLoginMd_) { BfInfo("mdsm login fail,try again 1 minute later"); mdsm_->login(60 * 1000, ""); } else { mdsm_->stop(); } } if (state == MDSM_STOPPED) { mdsm_logined_ = false; delete mdsm_; mdsm_ = nullptr; mdsm_logined_ = false; } }