private:
static void __send_ping_pong(void* data);
- static void* startTimer(timer_function function, TimerWorker woker, unsigned int interval, void *data);
- static void stopTimer(void *timer);
+ static int startTimer(timer_function function, TimerWorker woker, unsigned int interval, void *data);
+ static void stopTimer(int timer);
static gboolean __timeout_worker(gpointer ud);
long pingTimeout;
double average;
long longestRT;
bool running;
- void* pingpongTimer;
+ int pingpongTimer;
};
enum Result_base_Type {
startTime = 0;
pingSent = 0;
average = 0;
- pingpongTimer = NULL;
+ pingpongTimer = 0;
}
Channel::Channel() {
void ChannelConnectionHandler::stopPing() {
if (running) {
MSF_DBG("stopping ping");
- if (pingpongTimer) {
+ if (pingpongTimer > 0) {
stopTimer(pingpongTimer);
- pingpongTimer = NULL;
+ pingpongTimer = 0;
}
running = false;
}
pingSent = startTime;
channel_ptr = ptr;
- if (pingpongTimer == NULL) {
+ if (pingpongTimer <= 0) {
pingpongTimer = startTimer(__send_ping_pong, __timeout_worker, pingTimeout/1000, ptr);
}
}
ptr->connectionHandler->pingSent = time(0);
}
- if (ptr->connectionHandler->pingpongTimer != NULL) {
+ if (ptr->connectionHandler->pingpongTimer > 0) {
stopTimer(ptr->connectionHandler->pingpongTimer);
- ptr->connectionHandler->pingpongTimer = NULL;
+ ptr->connectionHandler->pingpongTimer = 0;
}
ptr->connectionHandler->pingpongTimer = startTimer(__send_ping_pong, __timeout_worker, ptr->connectionHandler->pingTimeout/1000, ptr);
}
-void* ChannelConnectionHandler::startTimer(timer_function function, TimerWorker woker, unsigned int interval, void *data)
+int ChannelConnectionHandler::startTimer(timer_function function, TimerWorker woker, unsigned int interval, void *data)
{
guint id = 0;
GSource *src = NULL;
id = g_source_attach(src, NULL);
g_source_unref(src);
- return (void*)id;
+ return id;
}
gboolean ChannelConnectionHandler::__timeout_worker(gpointer ud)
return false;
}
-void ChannelConnectionHandler::stopTimer(void *timer)
+void ChannelConnectionHandler::stopTimer(int timer)
{
guint id = (guint) timer;
if (id) {