diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2011-01-23 14:36:05 +0000 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2011-01-23 14:36:05 +0000 |
commit | dcda721939bc81c58f66850aa21f6b6f0c64cab3 (patch) | |
tree | 4788908cfc11c7526c1e8d1491146438b10c1c3f /app/v3_c/src/dispatcher.c | |
parent | 31f0e4b4067901e35ba3c3c66a77e84f35e74992 (diff) | |
download | 2011-usi-dcda721939bc81c58f66850aa21f6b6f0c64cab3.tar.gz 2011-usi-dcda721939bc81c58f66850aa21f6b6f0c64cab3.tar.bz2 2011-usi-dcda721939bc81c58f66850aa21f6b6f0c64cab3.zip |
Refactoring : myhttpd -> tcpserver et process -> dispatcher. Faisaons de belles briques bien claires d'entrée de jeu !
git-svn-id: file:///var/svn/2011-usi/trunk@15 db941bf7-0cb3-4dda-9634-87faf64f93a7
Diffstat (limited to 'app/v3_c/src/dispatcher.c')
-rw-r--r-- | app/v3_c/src/dispatcher.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/app/v3_c/src/dispatcher.c b/app/v3_c/src/dispatcher.c new file mode 100644 index 0000000..84b1fda --- /dev/null +++ b/app/v3_c/src/dispatcher.c @@ -0,0 +1,33 @@ +#include <stdlib.h> +#include <unistd.h> + +#include "dispatcher.h" +#include "utils.h" + +int initDispatcher() { + // Créer au départ toutes les zones mémoire à gérer + pool de threads + files de sockets en attente... + // Utiliser des déclarations globales dans ce fichier et gérer la concurrence entre les threads + + return 0; +} + +// Appelé des qu'un nouveau socket client est créé via accept(). +// Un retour non nul de cette fonction provoque l'arrêt du serveur http +int requestDispatcher(int sockfd, struct sockaddr_in *addr, socklen_t *addrlen ) { +#ifdef HEAVYDEBUG + logs("requestDispatcher start"); +#endif + if ( 0 ) { printf("%i %p %p\n", sockfd, (void *)addr, (void *)addrlen); } + + + close(sockfd); +#ifdef HEAVYDEBUG + logs("requestDispatcher end"); +#endif + return 0; +} + +void freeDispatcher() { + // Libérer tous les espaces histoire de voir des infos propres dans valgrind + return; +} |