From b9251a3c950e75f0d69d5799da42d06dd3e41a63 Mon Sep 17 00:00:00 2001 From: justanothercatgirl Date: Sat, 22 Jun 2024 01:00:16 +0300 Subject: Я ночью плачу и дрочу, я лишь с тобою быть хочу... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/channel.h | 45 ++++----------------------------------------- 1 file changed, 4 insertions(+), 41 deletions(-) (limited to 'server/channel.h') diff --git a/server/channel.h b/server/channel.h index a577638..4943887 100644 --- a/server/channel.h +++ b/server/channel.h @@ -1,62 +1,25 @@ #ifndef KV_SERVER_CHANNEL_H #define KV_SERVER_CHANNEL_H -#include +#include #include #include #include #include -#ifdef DEBUG -#define DEBUGF(fmt, ...) fprintf(stderr, "DEBUG: %s:%d:%s(): " fmt, __FILE__, __LINE__, __func__, ##__VA_ARGS__) -#else -#define DEBUGF(fmt, ...) \ - do { } while (0) -#endif - -#define KV_PACKET_SIZE 512 - -enum system_operation { - do_nothing = 0, - join_channel = -1, - shutdown_socket = -2, - acknowledgement = -3, -}; -struct user { - unsigned int ip; - unsigned short port; - int id; -}; -struct channel_handle { - int sockfd; - struct user* users; -}; -struct kv_packet { - int id; - unsigned char data[KV_PACKET_SIZE - sizeof(unsigned int)]; -}; -struct kv_system_packet { - int operation_id; - int user_id; - int return_address; - unsigned short return_port; - unsigned int checksum; - unsigned char sentinel[KV_PACKET_SIZE - 4 * sizeof(int) - sizeof(short)]; -}; +#include +// main function that manages every channel void thread_loop(void); struct channel_handle *channel_init(void); void channel_uninit(struct channel_handle *handle); -enum system_operation handle_system_packet(struct kv_packet* packet, struct channel_handle* handle); -unsigned int system_packet_checksum(struct kv_system_packet *packet); void send_packets_back(struct kv_packet** packets, struct channel_handle *handle); +void handle_system_packet(struct kv_packet* packet, struct channel_handle* handle); -void send_cancellation_messages(struct channel_handle *handle) ; void clear_packet_array(struct kv_packet **array); -int __user_cmp(const void* a, const void* b); #endif // KV_SERVER_CHANNEL_H -- cgit v1.2.3-70-g09d2