From 6820c635353b25f12401f8610c140c8608051ded Mon Sep 17 00:00:00 2001 From: Mario Kilies Date: Mon, 24 Jan 2011 11:15:56 +0100 Subject: Source code refactoring. Moved net/client/server stuff to 'net' subfolder. --- src/net.c | 104 -------------------------------------------------------------- 1 file changed, 104 deletions(-) delete mode 100644 src/net.c (limited to 'src/net.c') diff --git a/src/net.c b/src/net.c deleted file mode 100644 index 94dfe80..0000000 --- a/src/net.c +++ /dev/null @@ -1,104 +0,0 @@ -#include -#include -#include -#include -#include -#include "net.h" - -bool net_recv(int sock, const msg_type_t type) -{ - msg_t m; - bool result; - ssize_t len = recv(sock, &m.hdr, sizeof(msg_header_t), MSG_PEEK); // just peek into packet to determine message header - - assert(len != -1); - - if(m.hdr.type != type) - { - printf("net_recv: received message type %d instead of %d", m.hdr.type, type); - return false; - } - - m.payload = malloc(m.hdr.payload_length); // Allocate space for message payload - recv(sock, &m.hdr, sizeof(msg_header_t), 0); // Remove message header from socket - recv(sock, m.payload, m.hdr.payload_length, 0);// And then receive the payload - - switch(type) - { - case msg_type_hello: - result = server_recv_hello(m.payload, m.hdr.payload_length); - break; - case msg_type_start_game: - result = client_recv_player_list(m.payload, m.hdr.payload_length); - break; - case msg_type_deal_cards: - result = client_recv_deal_cards(m.payload, m.hdr.payload_length); - break; - case msg_type_init_stacks: - printf("not yet implemented: msg_type_init_stacks\n"); - exit(EXIT_FAILURE); - break; - case msg_type_selected_card: - result = server_recv_selected_card(m.payload, m.hdr.payload_length); - break; - case msg_type_selected_stack_c: - result = server_recv_selected_stack(m.payload, m.hdr.payload_length); - break; - case msg_type_selected_stack_s: - result = client_recv_selected_stack(m.payload, m.hdr.payload_length); - break; - default: - printf("net_recv: Unknown message type %d received!\n", type); - exit(EXIT_FAILURE); - break; - } - - free(m.payload); - - return result; -} - -bool net_send(int sock, const msg_type_t type, void* param) -{ - bool result = true; - uint8_t payload_len = 255; - uint8_t buf[payload_len+2]; // should be enough for all packet types - - buf[0] = type; - - switch(type) - { - case msg_type_hello: - payload_len = client_send_hello(&buf[2], payload_len); - break; - case msg_type_selected_card: - payload_len = client_send_selected_card(&buf[2], payload_len); - break; - case msg_type_selected_stack_c: - payload_len = client_send_selected_stack(&buf[2], payload_len); - break; - case msg_type_start_game: - payload_len = server_send_start_game(&buf[2], payload_len); - break; - case msg_type_selected_stack_s: - payload_len = server_send_selected_stack(&buf[2], payload_len); - break; - case msg_type_deal_cards: - payload_len = server_send_deal_cards(&buf[2], payload_len, param); - break; - case msg_type_initial_stack: - payload_len = server_send_initial_stacks(&buf[2], payload_len); - break; - default: - printf("net_send: Unknown message type %d received\n", type); - exit(EXIT_FAILURE); - break; - } - - buf[1] = payload_len; - - send(sock, buf, payload_len+2, 0); - - return result; -} - -- cgit v1.2.3