for (int j = 0; j < 255; j++) {
if (servers[j] == NULL) {
servers[j] = new serverrec;
+ servers[j]->initiator = true;
strcpy(servers[j]->internal_addr,Link_IPAddr);
servers[j]->internal_port = LinkPort;
strcpy(servers[j]->name,Link_ServerName);
case 'F':
WriteOpers("Server %s has completed netburst. (%d secs)",source->name,time(NULL)-nb_start);
handle_F(token,params,source,reply,udp_host,udp_port);
+
+ WriteOpers("Sending my burst now.");
+ nb_start = time(NULL);
+ if (!source->initiator)
+ {
+ DoSync(reply,udp_host,udp_port,MyKey);
+ }
+ WriteOpers("Completed burst to %s (%d secs)",source->name,time(NULL)-nb_start);
break;
// anything else
default:
if (!strcasecmp(servers[i]->internal_addr,udp_host)) {
servers[i]->key = atoi(params);
log(DEBUG,"Key for this server is now %d",servers[i]->key);
- DoSync(serv,udp_host,udp_port,MyKey);
+ if (servers[i]->initiator)
+ {
+ DoSync(serv,udp_host,udp_port,MyKey);
+ }
return;
}
}