Exemplo n.º 1
0
static void *handle_ping(void *arg) //master handle ping from server
{
    Pthread_detach(pthread_self());
    char *buf = (char *)arg;
    pair <int, int> srv_name;
    depacketize(buf, srv_name);
    //printf("%s\n",seperator);
    printf("Ping received: 127.0.0.1:%d\n",srv_name.second);
    ms.update_time_sheet(srv_name);
    //ms.display_time_sheet();
    if (!ms.Server_exists(srv_name)) //if the server doesn't exist, it means that new server joined, start chain extension
    {
        printf("New server joined:127.0.0.1:%d, chain extension start\n",srv_name.second);
        Server *s = new Server(srv_name);
        ms.Addserver(s);
        ms.client_notify(srv_name, true);
        ms.server_notify(srv_name, true);
    }
}