diff options
Diffstat (limited to 'src/base/checkFront.c~')
| -rw-r--r-- | src/base/checkFront.c~ | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/src/base/checkFront.c~ b/src/base/checkFront.c~ deleted file mode 100644 index 536de1b..0000000 --- a/src/base/checkFront.c~ +++ /dev/null @@ -1,113 +0,0 @@ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <assert.h> - -#include "main.h" -#include "list.h" -#include "myTimer.h" -#include "checkFront.h" -#include "idManager.h" -#include "server.h" - -typedef struct struct_checkfront_t -{ - char *msg; - my_time_t time; - int id; - int count; - int type; -} checkfront_t; - -static checkfront_t* newCheck(char *s, int type, int id) -{ - checkfront_t *new; - - assert( s != NULL ); - new = malloc( sizeof(checkfront_t) ); - memset(new, 0, sizeof(checkfront_t)); - new->msg = strdup(s); - new->time = getMyTime(); - new->id = id; - new->type = type; - new->count = 0; - return new; -} - -static void destroyCheck(checkfront_t *p) -{ - assert( p != NULL ); - free(p->msg); - free(p); -} - -list_t* newCheckFront() -{ - return newList(); -} - -void addMsgInCheckFront(list_t *list, char *msg, int type, int id) -{ - if (type == CHECK_FRONT_TYPE_CHECK) - incID(id); - addList(list, newCheck(msg, type, id) ); -} - -void eventMsgInCheckFront(client_t *client) -{ - my_time_t currentTime; - int i; - - currentTime = getMyTime(); - for (i = 0; i < client->listSendMsg->count; i++) { - checkfront_t *this; - - this = (checkfront_t *)client->listSendMsg->list[i]; - switch (this->type) { - case CHECK_FRONT_TYPE_SIMPLE : - sendClient(client, this->msg); - delListItem(client->listSendMsg, i, destroyCheck); - i--; - break; - case CHECK_FRONT_TYPE_CHECK : - if (this->count == 0 || currentTime - this->time > CHECK_FRONT_SEND_TIME_INTERVAL) { - sendClient(client, this->msg); - this->time = currentTime; - this->count++; - } - if (this->count > CHECK_FRONT_MAX_COUNT_SEND) { - delID(this->id); - delListItem(client->listSendMsg, i, destroyCheck); - i--; - } - break; - default : - assert(! _("Bad type of front!")); - break; - } - } -} - -void delMsgInCheckFront(list_t *listCheckFront, int id) -{ - int i; - - for (i = 0 ; i < listCheckFront->count ; i++ ) { - checkfront_t *this; - - this = (checkfront_t *)listCheckFront->list[i]; - if (this->id == id) { - delID(this->id); - delListItem(listCheckFront, i, destroyCheck); - return; - } - } -} - -void destroyCheckFront(list_t *p) -{ - assert( p != NULL ); - destroyListItem(p, destroyCheck); -} - |