From 58b2c8b6e2041e63c46b579eccc141d21801e985 Mon Sep 17 00:00:00 2001 From: Aargh Rai Date: Wed, 27 May 2026 17:42:51 +0530 Subject: main.c message reached JS --- src/ipc.c | 28 ++++++++++++++++++++++++++++ src/ipc.h | 8 -------- src/main.c | 20 +++++++++++++++++--- src/server.c | 10 ++-------- src/server/comms.c | 14 +++++++++++--- 5 files changed, 58 insertions(+), 22 deletions(-) create mode 100644 src/ipc.c delete mode 100644 src/ipc.h diff --git a/src/ipc.c b/src/ipc.c new file mode 100644 index 0000000..efdb8ce --- /dev/null +++ b/src/ipc.c @@ -0,0 +1,28 @@ +#ifndef IPC_C +#define IPC_C + +#include +#include + +struct mq_attr attr = { + .mq_flags = 0, + .mq_maxmsg = 10, + .mq_msgsize = 1024, + .mq_curmsgs = 0, +}; + +char* read_queue(mqd_t target) { + char* buf = malloc(attr.mq_msgsize); + int n = mq_receive(target, buf, attr.mq_msgsize, NULL); + if (n == -1) { + free(buf); + return NULL; + } + return buf; +} + +void send_queue(mqd_t target, const char* msg) { + mq_send(target, msg, sizeof(msg), 0); +} + +#endif // IPC_C diff --git a/src/ipc.h b/src/ipc.h deleted file mode 100644 index 3a49f52..0000000 --- a/src/ipc.h +++ /dev/null @@ -1,8 +0,0 @@ -#include - -struct mq_attr attr = { - .mq_flags = 0, - .mq_maxmsg = 10, - .mq_msgsize = 1024, - .mq_curmsgs = 0, -}; diff --git a/src/main.c b/src/main.c index 24d1d84..d022e71 100644 --- a/src/main.c +++ b/src/main.c @@ -13,13 +13,27 @@ int main(int argc, char** argv) { return 0; } -#include "ipc.h" +#include "ipc.c" void comms_main() { mqd_t tx = mq_open("/engine_to_server", O_WRONLY); mqd_t rx = mq_open("/server_to_engine", O_RDONLY); - char msg[] = "hello"; - mq_send(tx, msg, sizeof(msg), 0); + send_queue(tx, "hello"); + send_queue(tx, "hello2"); + // send_queue(tx, "hello"); + + // moves_t moves = moves_init(); + // position_t position = position_starting(); + // // get_queen_moves(&moves, position); + // + // bitboard_t b = 0; + // + // for (int i = 0; i < moves.length; i++) { + // b |= (bitboard_t)1 << moves.moves[i].to; + // printf("%d %d | ", (moves.moves[i].from), (moves.moves[i].to)); + // } + // + // print_bitboard(b); } int direct_run() { diff --git a/src/server.c b/src/server.c index 83f9349..d13945f 100644 --- a/src/server.c +++ b/src/server.c @@ -14,7 +14,7 @@ #include "server/base64.c" #include "server/ws_key.c" #include "server/comms.c" -#include "ipc.h" +#include "ipc.c" int main(int argc, char** argv) { assert(argc == 2); @@ -28,12 +28,6 @@ int main(int argc, char** argv) { return 0; } - char* buf = malloc(attr.mq_msgsize); - int n = mq_receive(rx, buf, attr.mq_msgsize, NULL); - printf("%s", buf); - return 0; - - int server_fd = socket(AF_INET, SOCK_STREAM, 0); int opt = 1; @@ -110,7 +104,7 @@ int main(int argc, char** argv) { payload[i] ^= mask[i % 4]; char* payload_ptr = payload; - struct strs response = handle_input(payload_ptr, len); + struct strs response = handle_input(tx, rx, payload_ptr, len); unsigned char out[128]; out[0] = 0x81; diff --git a/src/server/comms.c b/src/server/comms.c index 7b8001b..c96afa8 100644 --- a/src/server/comms.c +++ b/src/server/comms.c @@ -1,4 +1,5 @@ #include +#include "../ipc.c" struct str { char msg[126]; @@ -41,12 +42,19 @@ void add_str(struct strs* strs, char* str) { strs->count++; } -struct strs handle_input(char* payload, int len) { +struct strs handle_input(mqd_t tx, mqd_t rx, char* payload, int len) { printf("Message: %.*s\n", len, payload); struct strs output = init_strs(); - add_str(&output, "nigga"); - add_str(&output, "nigga2"); + char* buf = read_queue(rx); + printf("%p\n", buf); + add_str(&output, buf); + if (buf) free(buf); + + buf = read_queue(rx); + printf("%p\n", buf); + add_str(&output, buf); + if (buf) free(buf); return output; } -- cgit v1.2.3