summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAargh Rai <aargh.rai+git@gmail.com>2026-05-27 17:42:51 +0530
committerAargh Rai <aargh.rai+git@gmail.com>2026-05-27 17:42:51 +0530
commit58b2c8b6e2041e63c46b579eccc141d21801e985 (patch)
tree8faa61241e702e3c368e9ddf3f41f3a96f80df5d /src
parent49cc88def2f9edea59e79ca37f41400ad870579e (diff)
main.c message reached JS
Diffstat (limited to 'src')
-rw-r--r--src/ipc.c28
-rw-r--r--src/ipc.h8
-rw-r--r--src/main.c20
-rw-r--r--src/server.c10
-rw-r--r--src/server/comms.c14
5 files changed, 58 insertions, 22 deletions
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 <mqueue.h>
+#include <stdlib.h>
+
+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 <mqueue.h>
-
-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 <assert.h>
+#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;
}