summaryrefslogtreecommitdiff
path: root/src/server/comms.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/comms.c')
-rw-r--r--src/server/comms.c68
1 files changed, 0 insertions, 68 deletions
diff --git a/src/server/comms.c b/src/server/comms.c
deleted file mode 100644
index 67e42a2..0000000
--- a/src/server/comms.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <assert.h>
-#include <string.h>
-#include "../ipc.c"
-#include "../logger/logger.h"
-
-struct str {
- char msg[1023];
- int len;
-};
-
-void set_output(struct str* output, char* msg) {
- int i = 0;
- while (msg[i] != 0) {
- assert(i < 1023);
- output->msg[i] = msg[i];
- i++;
- }
- output->len = i;
-}
-
-struct strs {
- struct str* data;
- int capacity;
- int count;
-};
-
-struct strs init_strs() {
- return (struct strs) {
- .data = malloc(sizeof(struct str) * 10),
- .count = 0,
- .capacity = 10,
- };
-}
-void add_str(struct strs* strs, char* str) {
- if (strs->count + 1 > strs->capacity) {
- strs->capacity += 30;
- strs->data = realloc(strs->data, sizeof(struct str) * strs->capacity);
- }
-
- struct str item;
- set_output(&item, str);
-
- strs->data[strs->count] = item;
- strs->count++;
-}
-
-struct strs handle_input(mqd_t logging, mqd_t tx, mqd_t rx, char* payload, int len) {
- log_infof("after: %d", payload[len]);
- send_queue(tx, payload, len + 1);
- char* buf = read_queue(rx);
-
- struct strs output = init_strs();
-
- if (strcmp(buf, "Sending") != 0) {
- return output;
- }
-
- while (1) {
- char* buf = read_queue(rx);
- if (strcmp(buf, "END-TRANSMISSION") == 0) {
- free(buf);
- break;
- }
- add_str(&output, buf);
- free(buf);
- }
- return output;
-}