From ac7afffacb44b22b6da4170e7b46345ea1119593 Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Tue, 8 Nov 2016 12:40:15 +0100 Subject: [PATCH] removed test code --- src/utils/netcon.cpp | 317 ------------------------------------------- 1 file changed, 317 deletions(-) diff --git a/src/utils/netcon.cpp b/src/utils/netcon.cpp index 5674cf3b..68158ac5 100644 --- a/src/utils/netcon.cpp +++ b/src/utils/netcon.cpp @@ -17,7 +17,6 @@ // Wrapper classes for the socket interface -#ifndef TEST_NETCON #ifdef BUILDING_RECOLL #include "autoconfig.h" #else @@ -1018,319 +1017,3 @@ NetconServLis::checkperms(void *cl, int) return -1; } #endif /* NETCON_ACCESSCONTROL */ - - -#else /* !TEST_NETCON */ -///////////////////////////////////////////////////////////////////////// -////////// TEST DRIVER -//////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include - -#include "log.h" - -#include "netcon.h" - -using namespace std; - -static char *thisprog; -static char usage[] = - "-c : Connects to trnetcon server, exchange message, then\n" - " sleeps 10 S, except if option -n is given (sleep forever)\n" - "\n" - "-s : open service \n" - ; -static void -Usage() -{ - fprintf(stderr, "Usage : %s:\n %s", thisprog, usage); - exit(1); -} - -static int op_flags; -#define OPT_MOINS 0x1 -#define OPT_s 0x2 /* Server */ -#define OPT_c 0x4 /* Client */ -#define OPT_n 0x8 /* Client sleeps forever */ - -extern int trycli(char *host, char *serv); -extern int tryserv(char *serv); - -int nloop = 10; - -int main(int argc, char **argv) -{ - char *host, *serv; - - thisprog = argv[0]; - argc--; - argv++; - - while (argc > 0 && **argv == '-') { - (*argv)++; - if (!(**argv)) - /* Cas du "adb - core" */ - { - Usage(); - } - while (**argv) - switch (*(*argv)++) { - case 's': - op_flags |= OPT_s; - break; - case 'c': - op_flags |= OPT_c; - break; - case 'n': - op_flags |= OPT_n; - break; - default: - Usage(); - break; - } - argc--; - argv++; - } - - Logger::getTheLog("")->setLogLevel(Logger::LLDEB2); - - if (op_flags & OPT_c) { - if (argc != 2) { - Usage(); - } - host = *argv++; - argc--; - serv = *argv++; - argc--; - exit(trycli(host, serv)); - } else if (op_flags & OPT_s) { - if (argc != 1) { - Usage(); - } - serv = *argv++; - argc--; - exit(tryserv(serv)); - } else { - Usage(); - } -} - - -static char buf[1024]; -static int buflen = 1023; -static char fromcli[200]; - -class CliNetconWorker : public NetconWorker { -public: - CliNetconWorker() : m_count(0) {} - int data(NetconData *con, Netcon::Event reason) { - LOGDEB("clientdata\n" ); - if (reason & Netcon::NETCONPOLL_WRITE) { - sprintf(fromcli, "Bonjour Bonjour client %d, count %d", - getpid(), m_count); - con->setselevents(Netcon::NETCONPOLL_READ); - if (con->send(fromcli, strlen(fromcli) + 1) < 0) { - fprintf(stderr, "send failed\n"); - return -1; - } - m_count++; - } - - if (reason & Netcon::NETCONPOLL_READ) { - con->setselevents(Netcon::NETCONPOLL_WRITE); - int n; - if ((n = con->receive(buf, buflen)) < 0) { - fprintf(stderr, "receive failed\n"); - return -1; - } - if (n == 0) { - // EOF, close connection - return -1; - } - buf[n] = 0; - fprintf(stderr, "%d received \"%s\"\n", getpid(), buf); - if (op_flags & OPT_n) { - pause(); - } else { - sleep(1); - } - } - if (m_count >= 10) { - fprintf(stderr, "Did 10, enough\n"); - if (con->getloop()) { - con->getloop()->loopReturn(0); - } - } - return 0; - } -private: - int m_count; -}; - -int trycli(char *host, char *serv) -{ - sprintf(fromcli, "Bonjour Bonjour je suis le client %d", getpid()); - - NetconCli *clicon = new NetconCli(); - NetconP con(clicon); - if (!con) { - fprintf(stderr, "new NetconCli failed\n"); - return 1; - } - int port = atoi(serv); - int ret = port > 0 ? - clicon->openconn(host, port) : clicon->openconn(host, serv); - if (ret < 0) { - fprintf(stderr, "openconn(%s, %s) failed\n", host, serv); - return 1; - } - fprintf(stderr, "openconn(%s, %s) ok\n", host, serv); -#ifdef NOSELLOOP - for (int i = 0; i < nloop; i++) { - if (con->send(fromcli, strlen(fromcli) + 1) < 0) { - fprintf(stderr, "%d: Send failed\n", getpid()); - return 1; - } - if (con->receive(buf, buflen) < 0) { - perror("receive:"); - fprintf(stderr, "%d: Receive failed\n", getpid()); - return 1; - } - fprintf(stderr, "%d Received \"%s\"\n", getpid(), buf); - if (op_flags & OPT_n) { - pause(); - } else { - sleep(1); - } - } -#else - std::shared_ptr worker = - std::shared_ptr(new CliNetconWorker()); - clicon->setcallback(worker); - SelectLoop myloop; - myloop.addselcon(con, Netcon::NETCONPOLL_WRITE); - fprintf(stderr, "client ready\n"); - ret = myloop.doLoop(); - if (ret < 0) { - fprintf(stderr, "selectloop failed\n"); - exit(1); - } - fprintf(stderr, "selectloop returned %d\n", ret); -#endif - return 0; -} - -////////////////////////////////////////////////////////////////// -// Server-side sample code -class ServNetconWorker : public NetconWorker { -public: - ServNetconWorker() : m_count(0) {} - int data(NetconData *con, Netcon::Event reason) { - LOGDEB("serverdata\n" ); - if (reason & Netcon::NETCONPOLL_WRITE) { - con->setselevents(Netcon::NETCONPOLL_READ); - char fromserv[200]; - sprintf(fromserv, - "Du serveur: mon fd pour ce client est %d, mon compte %d", - con->getfd(), ++m_count); - if (con->send(fromserv, strlen(fromserv) + 1) < 0) { - fprintf(stderr, "send failed\n"); - return -1; - } - } - if (reason & Netcon::NETCONPOLL_READ) { -#define LL 200 - char buf[LL + 1]; - int n; - if ((n = con->receive(buf, LL)) < 0) { - fprintf(stderr, "receive failed\n"); - return -1; - } - if (n == 0) { - return -1; - } - buf[n] = 0; - fprintf(stderr, "%d received \"%s\"\n", getpid(), buf); - con->setselevents(Netcon::NETCONPOLL_READ | Netcon::NETCONPOLL_WRITE); - } - return 0; - } -private: - int m_count; -}; - -class MyNetconServLis : public NetconServLis { -public: - MyNetconServLis(SelectLoop& loop) - : NetconServLis(), m_loop(loop) { - } -protected: - int cando(Netcon::Event reason) { - NetconServCon *con = accept(); - if (con == 0) { - return -1; - } - std::shared_ptr worker = - std::shared_ptr(new ServNetconWorker()); - con->setcallback(worker); - m_loop.addselcon(NetconP(con), NETCONPOLL_READ); - return 1; - } - SelectLoop& m_loop; -}; - -NetconP lis; - -void -onexit(int sig) -{ - fprintf(stderr, "Onexit: "); - if (sig == SIGQUIT) { - kill(getpid(), SIGKILL); - } - fprintf(stderr, "Exiting\n"); - exit(0); -} - -int tryserv(char *serv) -{ - signal(SIGCHLD, SIG_IGN); - SelectLoop myloop; - MyNetconServLis *servlis = new MyNetconServLis(myloop); - lis = NetconP(servlis); - if (!lis) { - fprintf(stderr, "new NetconServLis failed\n"); - return 1; - } - - // Prepare for cleanup - struct sigaction sa; - sa.sa_flags = 0; - sa.sa_handler = onexit; - sigemptyset(&sa.sa_mask); - sigaction(SIGINT, &sa, 0); - sigaction(SIGQUIT, &sa, 0); - sigaction(SIGTERM, &sa, 0); - - int port = atoi(serv); - int ret = port > 0 ? - servlis->openservice(port) : servlis->openservice(serv); - if (ret < 0) { - fprintf(stderr, "openservice(%s) failed\n", serv); - return 1; - } - myloop.addselcon(lis, Netcon::NETCONPOLL_READ); - fprintf(stderr, "openservice(%s) Ok\n", serv); - if (myloop.doLoop() < 0) { - fprintf(stderr, "selectloop failed\n"); - exit(1); - } - return 0; -} - -#endif /* TEST_NETCON */ -