Files
ma/src/client_backend/queue _ctrl.cpp
jakani24 8e050132d9 update
2024-01-27 16:48:52 +01:00

46 lines
820 B
C++

#ifndef QUEUE_CTRL_CPP
#define QUEUE_CTRL_CPP
#include "queue_ctrl.h"
#include <string.h>
#define queue_limit 1000
#define command_limit 3000
char queue[queue_limit][command_limit];
int queue_size = 0;
int queue_start = 0;
int queue_end = 0;
int queue_push(char* str) {
if (queue_size == queue_limit) {
return 1;
}
else if (strlen(str) >= command_limit) {
return 2;
}
else {
strcpy_s(queue[queue_end], str);
queue_end++;
queue_size++;
if (queue_end == queue_limit) {
queue_end = 0;
}
return 0;
}
}
int queue_pop(char* str) {
if (queue_size == 0) {
return 1;
}
else {
strcpy_s(str, 100, queue[queue_start]);
queue_start++;
queue_size--;
if (queue_start == queue_limit) {
queue_start = 0;
}
return 0;
}
}
int get_queue_size() {
return queue_size;
}
#endif // !QUEUE_CTRL_CPP