void SceneClientManager::on_sync_error(connection_ptr conn) { SceneClientPtr context = loki::conn_cast<SceneClient>(conn); if (!context) return ; LOG(INFO)<<__func__<<",id="<<context->id()<<",name="<<context->name()<<",type="<<context->type()<<",ip="<<context->ip()<<",port="<<context->port(); if (conn->is_connected()) sceneclients_.erase(context->id()); context->timer_.expires_from_now(boost::posix_time::seconds(5)); context->timer_.async_wait(boost::bind(&connection::async_connect, conn, context->ip(), context->port())); }