From e450b0d47e9d05a806769d096646d723845e0ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Tom=C3=A1s?= Date: Sat, 11 Jul 2020 12:13:59 -0300 Subject: Make client side ipc binary --- jet.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'jet.cpp') diff --git a/jet.cpp b/jet.cpp index 638d728..1ae3eeb 100644 --- a/jet.cpp +++ b/jet.cpp @@ -1,6 +1,7 @@ -#include #include #include +#include +#include #include #include @@ -11,7 +12,10 @@ #include #include +#include "ipc.cpp" +#include "page.cpp" #include "buffer.cpp" +#include "point.cpp" #include "client.cpp" #define PORT 6969 -- cgit v1.2.3 From a193e6a9fee8760000561ba4fe1a6ec13ea0018d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Tom=C3=A1s?= Date: Sat, 11 Jul 2020 21:09:08 -0300 Subject: Implement IPC using binary format --- jet.cpp | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) (limited to 'jet.cpp') diff --git a/jet.cpp b/jet.cpp index 1ae3eeb..2006a77 100644 --- a/jet.cpp +++ b/jet.cpp @@ -1,6 +1,6 @@ #include -#include #include +#include #include #include @@ -19,7 +19,6 @@ #include "client.cpp" #define PORT 6969 -#define MAX_COMMAND_SIZE 128 #define MAX_EVENTS 10 int create_listener() { @@ -32,24 +31,6 @@ int create_listener() { return s; } -void parse_command(char *command, Client *client) { - char *token = strtok(command, " \n"); - while (token) { - if (strcmp(token, "show") == 0) { - client->show(); - } else if (strcmp(token, "move") == 0) { - client->move(); - } else if (strcmp(token, "push") == 0) { - client->push(); - } else if (strcmp(token, "pop") == 0) { - client->pop(); - } else { - client->args.push(atoi(token)); - } - token = strtok(0, " \n"); - } -} - int main() { Buffer scratch("scratch"); scratch.read_file("LICENSE"); @@ -82,10 +63,7 @@ int main() { clients[clientfd] = c; epoll_ctl(epollfd, EPOLL_CTL_ADD, clientfd, &ev); } else { - char command[MAX_COMMAND_SIZE] = {}; - int clientfd = events[i].data.fd; - read(clientfd, command, MAX_COMMAND_SIZE - 1); - parse_command(command, clients[clientfd]); + clients[events[i].data.fd]->parse_message(); } } } -- cgit v1.2.3