From f1ddc12b68b4e4c8087962de25260470e6df2bea Mon Sep 17 00:00:00 2001 From: Connor Thomson Date: Tue, 8 Sep 2026 18:27:39 -0700 Subject: Add tuxanci2 files --- src/base/myTimer.c | 157 ----------------------------------------------------- 1 file changed, 157 deletions(-) delete mode 100644 src/base/myTimer.c (limited to 'src/base/myTimer.c') diff --git a/src/base/myTimer.c b/src/base/myTimer.c deleted file mode 100644 index 5015cc6..0000000 --- a/src/base/myTimer.c +++ /dev/null @@ -1,157 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#ifdef __WIN32__ -#include -#endif /* __WIN32__ */ - -#include "main.h" -#include "list.h" -#include "myTimer.h" -#ifndef PUBLIC_SERVER -#include "interface.h" -#endif /* PUBLIC_SERVER */ - -static struct timeval my_start = {.tv_sec = 0, .tv_usec = 0}; - -list_t *timer_new() -{ - return list_new(); -} - -void timer_restart() -{ - gettimeofday(&my_start, NULL); -} - - -my_time_t timer_get_current_time() -{ - struct timeval now; - my_time_t ticks; - - if (my_start.tv_sec == 0 && my_start.tv_usec == 0) { - timer_restart(); - } - - gettimeofday(&now, NULL); - ticks = (now.tv_sec - my_start.tv_sec) * 1000 + (now.tv_usec - my_start.tv_usec) / 1000; - /*printf("-> %d\n", ticks);*/ - - return ticks; -} - -my_time_t timer_get_current_timeMicro() -{ - static struct timeval my_micro_start = {.tv_sec = 0,.tv_usec = 0 }; - struct timeval now; - my_time_t ticks; - - if (my_micro_start.tv_sec == 0 && my_micro_start.tv_usec == 0) { - gettimeofday(&my_micro_start, NULL); - } - - gettimeofday(&now, NULL); - ticks = (now.tv_sec - my_micro_start.tv_sec) * 1000 * 1000 + (now.tv_usec - my_micro_start.tv_usec); - /*printf("-> %d\n", ticks);*/ - - return ticks; -} - -my_timer_t *timer_newItem(int type, void (*fce) (void *p), void *arg, my_time_t my_time) -{ - static int new_id = 0; - my_timer_t *new; - - assert(fce != NULL); - - new = malloc(sizeof(my_timer_t)); - memset(new, 0, sizeof(my_timer_t)); - new->id = new_id++; - new->type = type; - new->fce = fce; - new->arg = arg; - new->createTime = timer_get_current_time(); - new->time = my_time; - - return new; -} - -static void timer_destroyItem(my_timer_t *p) -{ - assert(p != NULL); - free(p); -} - -int timer_add_task(list_t *listTimer, int type, void (*fce) (void *p), void *arg, my_time_t my_time) -{ - my_timer_t *new; - - new = timer_newItem(type, fce, arg, my_time); - list_add(listTimer, new); - - return new->id; -} - -void timer_event(list_t *listTimer) -{ - int i; - my_timer_t *thisTimer; - my_time_t currentTime; - - currentTime = timer_get_current_time(); - - for (i = 0; i < listTimer->count; i++) { - thisTimer = (my_timer_t *) listTimer->list[i]; - assert(thisTimer != NULL); - - switch (thisTimer->type) { - case TIMER_ONE: - if (currentTime >= thisTimer->createTime + thisTimer->time) { - thisTimer->fce(thisTimer->arg); - list_del_item(listTimer, i, free); - i--; - } - break; - case TIMER_PERIODIC: - if (currentTime >= thisTimer->createTime + thisTimer->time) { - thisTimer->fce(thisTimer->arg); - thisTimer->createTime = timer_get_current_time(); - } - break; - default: - fatal("Bad setting of the timer"); - break; - } - } -} - -void timer_del(list_t *listTimer, int id) -{ - my_timer_t *thisTimer; - int i; - - for (i = 0; i < listTimer->count; i++) { - thisTimer = (my_timer_t *) listTimer->list[i]; - - assert(thisTimer != NULL); - - if (thisTimer->id == (unsigned) id) { - list_del_item(listTimer, i, free); - return; - } - } - - error("Unable to delete event from the timer as it is not present in it [%d]", id); - assert(0); -} - - -void timer_destroy(list_t *listTimer) -{ - list_destroy_item(listTimer, timer_destroyItem); -} -- cgit v1.2.3