Beispiel #1
0
VOID CALLBACK ReconnectTimer(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
	time_t	currentTime;
	currentTime = time(NULL);
	for(int i = 0; i < gMain.gNumEncoders; i++) {
		if(g[i]->forcedDisconnect) {
			int timeout = getReconnectSecs(g[i]);
			time_t timediff = currentTime - g[i]->forcedDisconnectSecs;
			if(timediff > timeout) {
				g[i]->forcedDisconnect = false;
				_beginthreadex(NULL,
							   0,
							   (unsigned(_stdcall *) (void *)) startSpecificedcastThread,
							   (void *) i,
							   0,
							   &edcastThreadTitsOnBull);
			}
			else {
				char	buf[255] = "";
				wsprintf(buf, "Connecting in %d seconds", timeout - timediff);
				pWindow->outputStatusCallback(i + 1, buf, FILE_LINE);
			}
		}
	}
}
Beispiel #2
0
void * startReconnectThread(void *url) {
	
	reconnectLoop = 1;
	reconnectThreadRunning = 1;
	
	while (reconnectLoop) {
		time_t  currentTime;

		currentTime = time(&currentTime);
		for(int i = 0; i < gMain.gNumEncoders; i++) {
			if(g[i]->forcedDisconnect) {
				LogMessage(g[i], LOG_DEBUG, "Reconnecting disconnected encoder.");

				int timeout = getReconnectSecs(g[i]);
				int timediff = currentTime - g[i]->forcedDisconnectSecs;
				if(timediff > timeout) {
					g[i]->forcedDisconnect = false;
					if(!g[i]->weareconnected) {
						setForceStop(g[i], 0);
						if(!connectToServer(g[i])) {
							g[i]->forcedDisconnect = true;
							g[i]->forcedDisconnectSecs = time(&(g[i]->forcedDisconnectSecs));
						}
						LogMessage(g[i], LOG_DEBUG, "Done Reconnecting disconnected encoder.");
					}
				}
				else {
					char    buf[255] = "";
					sprintf(buf, "Connecting in %d seconds", timeout - timediff);
					outputStatusCallback(g[i], buf);
				}
			}
		}
#ifdef WIN32
		Sleep(1000);
#else
		sleep(1);
#endif
	}
	reconnectThreadRunning = 0;
	return(NULL);
}
Beispiel #3
0
void *
edcast_reconnect_thread (void *arg)
{
	while (1) {
		time_t currentTime = time(&currentTime);
		if (g.forcedDisconnect) {
			int timeout = getReconnectSecs(&g);
			int timediff = currentTime - g.forcedDisconnectSecs;
			if (timediff > timeout) {
				connectToServer(&g);
				memset(oldcurrentTitle,'\000', sizeof(oldcurrentTitle));
			}
			else {
				char buf[255] = "";
				sprintf(buf, "Connecting in %d seconds", timeout - timediff);
				serverStatusCallback(&g, buf);
			}
		}
		sleep(1);
	}


	return 0;
}