{ //locking scope for local databases
boost::mutex::scoped_lock scoped_lock(m_mutex);
// load-balancing algorithm goes here
//target = *vhosts.begin();
{ //locking scope for local databases
boost::mutex::scoped_lock scoped_lock(m_mutex);
// load-balancing algorithm goes here
//target = *vhosts.begin();
mp::util::set_vhost_otherinfo(&(org_init->otherInfo),
odr_en, target, 1);
package.request() = gdu_req;
mp::util::set_vhost_otherinfo(&(org_init->otherInfo),
odr_en, target, 1);
package.request() = gdu_req;
is_closed_front = true;
boost::mutex::scoped_lock scoped_lock(m_mutex);
add_package(package.session().id());
}
// any other Z39.50 package is added to statistics
is_closed_front = true;
boost::mutex::scoped_lock scoped_lock(m_mutex);
add_package(package.session().id());
}
// any other Z39.50 package is added to statistics
is_closed_back = true;
boost::mutex::scoped_lock scoped_lock(m_mutex);
remove_package(package.session().id());
}
// any other Z39.50 package is removed from statistics
is_closed_back = true;
boost::mutex::scoped_lock scoped_lock(m_mutex);
remove_package(package.session().id());
}
// any other Z39.50 package is removed from statistics
boost::mutex::scoped_lock scoped_lock(m_mutex);
remove_package(package.session().id());
}
}
// finally removing sessions and marking deads
boost::mutex::scoped_lock scoped_lock(m_mutex);
remove_package(package.session().id());
}
}
// finally removing sessions and marking deads
boost::mutex::scoped_lock scoped_lock(m_mutex);
// marking backend dead if backend closed without fronted close
boost::mutex::scoped_lock scoped_lock(m_mutex);
// marking backend dead if backend closed without fronted close
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
if (itarg != m_target_stat.end()
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
if (itarg != m_target_stat.end()
itarg->second.deads += 1;
// std:.cout << "add_dead " << session_id << " " << target
// << " d:" << itarg->second.deads << "\n";
}
}
itarg->second.deads += 1;
// std:.cout << "add_dead " << session_id << " " << target
// << " d:" << itarg->second.deads << "\n";
}
}
//void yf::LoadBalance::Impl::clear_dead(unsigned long session_id){
// std::cout << "clear_dead " << session_id << "\n";
//};
//void yf::LoadBalance::Impl::clear_dead(unsigned long session_id){
// std::cout << "clear_dead " << session_id << "\n";
//};
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
if (itarg != m_target_stat.end()
&& itarg->second.packages
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
if (itarg != m_target_stat.end()
&& itarg->second.packages
itarg->second.packages += 1;
// std:.cout << "add_package " << session_id << " " << target
// << " p:" << itarg->second.packages << "\n";
}
}
itarg->second.packages += 1;
// std:.cout << "add_package " << session_id << " " << target
// << " p:" << itarg->second.packages << "\n";
}
}
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
if (itarg != m_target_stat.end()
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
if (itarg != m_target_stat.end()
itarg->second.packages -= 1;
// std:.cout << "remove_package " << session_id << " " << target
// << " p:" << itarg->second.packages << "\n";
}
}
itarg->second.packages -= 1;
// std:.cout << "remove_package " << session_id << " " << target
// << " p:" << itarg->second.packages << "\n";
}
}
// finding and adding session
std::map<unsigned long, std::string>::iterator isess;
isess = m_session_target.find(session_id);
// finding and adding session
std::map<unsigned long, std::string>::iterator isess;
isess = m_session_target.find(session_id);
m_session_target.insert(std::make_pair(session_id, target));
}
// finding and adding target statistics
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
m_session_target.insert(std::make_pair(session_id, target));
}
// finding and adding target statistics
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
- stat.packages = 0; // no idea why the defaut constructor TargetStat()
- stat.deads = 0; // is not initializig this correctly to zero ??
- m_target_stat.insert(std::make_pair(target, stat));
+ stat.packages = 0;
+ stat.deads = 0;
+ m_target_stat.insert(std::make_pair(target, stat));
// std:.cout << "add_session " << session_id << " " << target
// << " s:" << itarg->second.sessions << "\n";
}
// std:.cout << "add_session " << session_id << " " << target
// << " s:" << itarg->second.sessions << "\n";
}
// finding target statistics
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
// finding target statistics
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
std::string target;
std::map<unsigned long, std::string>::iterator isess;
isess = m_session_target.find(session_id);
std::string target;
std::map<unsigned long, std::string>::iterator isess;
isess = m_session_target.find(session_id);
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);
std::map<std::string, TargetStat>::iterator itarg;
itarg = m_target_stat.find(target);