MXS-2271 Store monitored servers in a vector

The array is still a public member because it's used in several non-member functions.
This commit is contained in:
Esa Korhonen
2019-01-24 12:43:27 +02:00
parent 9083ea2d02
commit cef4e836bc
7 changed files with 81 additions and 148 deletions

View File

@ -78,7 +78,7 @@ void MariaDBMonitor::reset_server_info()
clear_server_info();
// Next, initialize the data.
for (auto mon_server = m_monitor->monitored_servers; mon_server; mon_server = mon_server->next)
for (auto mon_server : Monitor::m_servers)
{
m_servers.push_back(new MariaDBServer(mon_server, m_servers.size(), m_assume_unique_hostnames));
}
@ -433,8 +433,9 @@ void MariaDBMonitor::tick()
{
/* Update MXS_MONITORED_SERVER->pending_status. This is where the monitor loop writes it's findings.
* Also, backup current status so that it can be compared to any deduced state. */
for (auto mon_srv = m_monitor->monitored_servers; mon_srv; mon_srv = mon_srv->next)
for (auto srv : m_servers)
{
auto mon_srv = srv->m_server_base;
auto status = mon_srv->server->status;
mon_srv->pending_status = status;
mon_srv->mon_prev_status = status;