|
|
@@ -63,8 +63,12 @@ public:
|
|
|
// closesocket thread-safe
|
|
|
void closesocket() {
|
|
|
if (channel) {
|
|
|
- setReconnect(NULL);
|
|
|
- channel->close(true);
|
|
|
+ loop_->runInLoop([this](){
|
|
|
+ if (channel) {
|
|
|
+ setReconnect(NULL);
|
|
|
+ channel->close();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -134,8 +138,8 @@ public:
|
|
|
if (!reconn_setting) return -1;
|
|
|
if (!reconn_setting_can_retry(reconn_setting)) return -2;
|
|
|
uint32_t delay = reconn_setting_calc_delay(reconn_setting);
|
|
|
+ hlogi("reconnect... cnt=%d, delay=%d", reconn_setting->cur_retry_cnt, reconn_setting->cur_delay);
|
|
|
loop_->setTimeout(delay, [this](TimerID timerID){
|
|
|
- hlogi("reconnect... cnt=%d, delay=%d", reconn_setting->cur_retry_cnt, reconn_setting->cur_delay);
|
|
|
startConnect();
|
|
|
});
|
|
|
return 0;
|