/************************** * Central-Manager * *************************** * Designed & Developed by * * Adrien Marquès * * * *************************** * doowap31@gmail.com * **************************/ #include "lib/header.h" /* local dependencies */ #include "lib/network/tcp/server.h" #include "lib/network/udp/server.h" /* headers */ void* LISTEN_TCP(void* THREADABLE_ARG); void* LISTEN_UDP(void* THREADABLE_ARG); void* managePlane(void* THREADABLE_SOCKET); void* initPlane(); void* manageViewTerm(void* THREADABLE_SOCKET); void* manageCtrlTerm(void* THREADABLE_SOCKET); // VARIABLES THREADS D'ECOUTE TCP/UDP static pthread_t listenManagers[4]; // contiendra les THREADS d'écoute // 1. Multicast UDP (plane) // 2. ListenSock TCP (plane) // 3. ListenSock UDP (vterm) Multicast // 4. ListenSock UDP (cterm) Multicast // VARIABLES THREADS CONNECTION TCP static pthread_t TCPManagers[MAX_TCP_THR]; // contiendra les THREADS TCP static int activeTCPManagers[MAX_TCP_THR] = {0}; // contiendra les THREADS TCP actifs // VARIABLES THREADS CONNECTION UDP static pthread_t UDPManagers[MAX_UDP_THR]; // contiendra les THREADS UDP static int activeUDPManagers[MAX_UDP_THR] = {0}; // contiendra les THREADS UDP actifs struct listn_thrd_arg{ const char addr[16]; // socket address const unsigned short port; // socket port void* (*func)(); // management function }; // ENREGISTREMENT DES DONNEES AVIONS struct{ unsigned int data; unsigned int update; } sgca_index; struct plane* sgca_data; struct plane* sgca_update;