#include <diff_process.hpp>
Static Public Member Functions | |
static void | proxy_ready (proxy_server *proxy) |
Called when proxy finishes sending it's diff. | |
static void | deattach_proxy (proxy_server *proxy) |
Called when connection to proxy is reset. | |
static void | finish_collection_part () |
Called after all servers are ready. Creates big diff file and sends it to everyone. | |
static void | begin_diff_process () |
Creates class instance, collects active servers. | |
static void | send_packet_to_all (buf_el &buf) |
Sends packet to all servers used in diff. | |
static void | send_base (proxy_server *proxy) |
Sends entire database to new proxy. | |
Private Member Functions | |
diff_process () | |
Private Attributes | |
size_t | active_count |
Amount of servers working in current diff. Those which connected later won't be used. | |
size_t | ready_count |
Amount of servers which are already ready. | |
std::vector< proxy_server * > | active_servers |
Servers used in this diff. |
diff_process::diff_process | ( | ) | [inline, private] |
void diff_process::proxy_ready | ( | proxy_server * | proxy | ) | [static] |
Called when proxy finishes sending it's diff.
void diff_process::deattach_proxy | ( | proxy_server * | proxy | ) | [static] |
Called when connection to proxy is reset.
void diff_process::finish_collection_part | ( | ) | [static] |
Called after all servers are ready. Creates big diff file and sends it to everyone.
void diff_process::begin_diff_process | ( | ) | [static] |
Creates class instance, collects active servers.
void diff_process::send_packet_to_all | ( | buf_el & | buf | ) | [static] |
Sends packet to all servers used in diff.
void diff_process::send_base | ( | proxy_server * | proxy | ) | [static] |
Sends entire database to new proxy.
size_t diff_process::active_count [private] |
Amount of servers working in current diff. Those which connected later won't be used.
size_t diff_process::ready_count [private] |
Amount of servers which are already ready.
std::vector<proxy_server*> diff_process::active_servers [private] |
Servers used in this diff.