From 507062d51b3e018fdfac838e7982ffe62ff423c5 Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Sun, 28 Apr 2024 21:39:53 +0200 Subject: Kernel: Use ringbuffer for handling incoming socket data --- kernel/network/tcp.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'kernel/network') diff --git a/kernel/network/tcp.c b/kernel/network/tcp.c index 997b699..8740a63 100644 --- a/kernel/network/tcp.c +++ b/kernel/network/tcp.c @@ -186,7 +186,6 @@ void handle_tcp(ipv4_t src_ip, const u8 *payload, u32 payload_length) { } struct TcpConnection *incoming_connection = tcp_find_connection(dst_port); - kprintf("dst_port: %d\n", dst_port); if (!incoming_connection) { kprintf("unable to find open port for incoming connection\n"); } @@ -214,10 +213,9 @@ void handle_tcp(ipv4_t src_ip, const u8 *payload, u32 payload_length) { } u16 tcp_payload_length = payload_length - header->data_offset * sizeof(u32); if (tcp_payload_length > 0) { - int len = fifo_object_write( - (u8 *)(payload + header->data_offset * sizeof(u32)), 0, - tcp_payload_length, incoming_connection->data_file); - assert(len >= 0); + const u8 *tcp_payload = payload + header->data_offset * sizeof(u32); + u32 len = ringbuffer_write(&incoming_connection->buffer, tcp_payload, + tcp_payload_length); assert(len == tcp_payload_length); incoming_connection->ack += len; tcp_send_ack(incoming_connection); -- cgit v1.2.3