diff options
author | justanothercatgirl <sotov2070@gmail.com> | 2024-06-22 01:00:16 +0300 |
---|---|---|
committer | justanothercatgirl <sotov2070@gmail.com> | 2024-06-22 01:00:16 +0300 |
commit | b9251a3c950e75f0d69d5799da42d06dd3e41a63 (patch) | |
tree | ca957ec1baf547279138a93814337402db879743 /server/channel.h | |
parent | b0af12b287a7c7e3cc5ba39869835126e700f792 (diff) |
Я ночью плачу и дрочу, я лишь с тобою быть хочу...
Diffstat (limited to 'server/channel.h')
-rw-r--r-- | server/channel.h | 45 |
1 files changed, 4 insertions, 41 deletions
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 <stdbool.h> +#include <kv.h> #include <unistd.h> #include <sys/socket.h> #include <sys/types.h> #include <netinet/ip.h> -#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 <stdbool.h> +// 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 |