From 7369505397cdfddf0883e2c24e1652df8bd488fe Mon Sep 17 00:00:00 2001 From: Guangxiong Lin Date: Fri, 16 Dec 2022 13:53:35 +0800 Subject: Refactor file structure --- connection.c | 58 ---------------------------------------------------------- 1 file changed, 58 deletions(-) delete mode 100644 connection.c (limited to 'connection.c') diff --git a/connection.c b/connection.c deleted file mode 100644 index c164ec8..0000000 --- a/connection.c +++ /dev/null @@ -1,58 +0,0 @@ -#include -#include -#include -#include - -#include "connection.h" -#include "constant.h" - -#define READ_BUFFER_SIZE 1024 - -struct connection { - struct tsocket *sock; -}; - -struct connection *connection_create(struct tsocket *sock) -{ - struct connection *conn = malloc(sizeof(*conn)); - conn->sock = sock; - - return conn; -} - -void connection_destroy(struct connection *conn) -{ - tsocket_destroy(conn->sock); - free(conn); -} - -static void echo(struct connection *conn) -{ - char buf[READ_BUFFER_SIZE]; - ssize_t n_read_bytes; - - struct tsocket *sock = (struct tsocket *)conn->sock; - - for (;;) { - n_read_bytes = read(sock->fd, buf, sizeof(buf)); - if (n_read_bytes > 0) { - printf("message from conn %d: %s\n", sock->fd, buf); - write(sock->fd, buf, sizeof(buf)); - } else if (n_read_bytes == 0) { - printf("conn %d disconnected\n", sock->fd); - return; - } else if (n_read_bytes == -1) { - if (errno == EAGAIN || errno == EWOULDBLOCK) - break; - } - } -} - -event_t *connection_create_event(struct tsocket *sock) -{ - connection_t *conn = connection_create(sock); - return event_create(conn, conn->sock->fd, - (evloop_process_func_t) echo, - (evloop_destroy_func_t) connection_destroy); -} - -- cgit v1.2.3