From f03fd1e9d7e56b36ade7993b945913f4b84463d1 Mon Sep 17 00:00:00 2001 From: hadaq Date: Fri, 23 Jul 2010 12:38:23 +0000 Subject: [PATCH] Short format of inPath. Sergey. --- hadaq/netmem.c | 142 +++++++++---------------------------------------- 1 file changed, 26 insertions(+), 116 deletions(-) diff --git a/hadaq/netmem.c b/hadaq/netmem.c index c255962..e1949d6 100644 --- a/hadaq/netmem.c +++ b/hadaq/netmem.c @@ -1,4 +1,4 @@ -static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/netmem.c,v 6.41 2010-07-15 17:51:49 hadaq Exp $"; +static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/netmem.c,v 6.42 2010-07-23 12:38:23 hadaq Exp $"; #define _POSIX_C_SOURCE 199309L #define SYSLOG_NAMES @@ -37,7 +37,6 @@ typedef struct TheArgsS { int queueVarSizeCnt; char verbosity[PARAM_MAX_VALUE_LEN]; - unsigned int buffStat; char shmname[PARAM_MAX_VALUE_LEN]; char evtstat[PARAM_MAX_VALUE_LEN]; @@ -60,7 +59,11 @@ void sigHandler(int sig) static void usage(const char *progName) { - syslog(LOG_ERR, "Usage: %s -i inPath [-i inPath] -m nrOfMsgs [-p priority]", progName); + syslog(LOG_ERR, "Usage: %s", progName); + syslog(LOG_ERR, " -m nrOfMsgs Number of input data streams."); + syslog(LOG_ERR, " -i inPath Input, wide format: -i UDP:0.0.0.0:portNr"); + syslog(LOG_ERR, " short format: -i portNr"); + syslog(LOG_ERR, " [-p priority] Set priority."); syslog(LOG_ERR, " [-S shmem_name] Extension of shared memory segment name."); syslog(LOG_ERR, " [-q queueSize] Size of the queue (shared memory segments) in MBytes."); syslog(LOG_ERR, " [-Q queueNr:queueSize] Set different queue sizes in MB for different queue numbers,"); @@ -140,12 +143,17 @@ static void argsDefault(TheArgs *my) my->portNrCnt = 0; - my->buffStat = 0; strcpy(my->shmname, ""); sprintf(my->evtstat, "%s_evtstat.txt", getenv("DAQ_SETUP")); } +static inPath_short2wide(TheArgs *theArgs, char *optarg) +{ + + +} + static int argsFromCL(TheArgs *my, int argc, char *argv[]) { extern char *optarg; @@ -179,9 +187,6 @@ static int argsFromCL(TheArgs *my, int argc, char *argv[]) case 'v': strcpy(my->verbosity, optarg); break; - case 'b': - my->buffStat = 1; - break; case 'S': strcpy(my->shmname, optarg); break; @@ -207,9 +212,19 @@ static int argsFromCL(TheArgs *my, int argc, char *argv[]) syslog(LOG_ERR, "%s, %d: %s", __FILE__, __LINE__, "sscanf failed."); sleep(5); } else { - port = atoi(ep); - my->portNr[i] = port; - my->portNrCnt++; + if (strcmp(fam, "UDP") == 0) { + /* Wide format: UDP:0.0.0.0:portNr */ + port = atoi(ep); + my->portNr[i] = port; + my->portNrCnt++; + } else { + /* Short format: portNr */ + port = atoi(my->inPath[i]); + my->portNr[i] = port; + my->portNrCnt++; + + sprintf(my->inPath[i], "UDP:0.0.0.0:%d", port); + } } } @@ -318,109 +333,6 @@ static void add2Stat(TheArgs *theArgs, TheStats *my, float interval, ShmTrans ** } } -static void statsBufferDump(TheArgs *theArgs, float interval, ShmTrans **shmtr, NetTrans **my) -{ - static time_t t0 = 0; - time_t t, dT; - int i, j; - int col = 0; - char emptybuffer[] = "-"; - int outputGraph = 1; /* Graphical output */ - int outputNum = 0; /* Numerical output */ - - t = time(NULL); - dT = t - t0; - - /* fprintf (stderr, " dT: %.0lf interval: %.0lf", (double)dT, interval); */ - - if (dT >= interval && theArgs->buffStat) { - - if (outputNum == 1) { - fputs("==============================================================================\n\n", stderr); - for (i = 0; i < theArgs->nrOfMsgs; i++) { - - fprintf(stderr, "q[%2d]: ", i); - if (shmtr[i] != NULL) - if (theArgs->queueSize[i] * 2 - HadTuQueue_size(shmtr[i]->wrQueue) > 0) { - fprintf(stderr, "%8d ", HadTuQueue_size(shmtr[i]->wrQueue)); - } else { - fprintf(stderr, "%8s ", "EXCEEDED"); - } else - fprintf(stderr, "%8s ", emptybuffer); - - col++; - if (col == 6) { - fputc('\n', stderr); - col = 0; - } - } - } - - if (outputGraph == 1) { - fputs("------------------ buffer fill levels ----------------------------------------\n", stderr); - - float buffSize, queueSize, pktsDisc; - int maxnorm = 10.; - - for (j = 0; j < maxnorm; j++) { - fprintf(stderr, "%1d ", maxnorm - j - 1); - for (i = 0; i < theArgs->nrOfMsgs; i++) { - buffSize = 2 * theArgs->queueSize[i]; - queueSize = HadTuQueue_size(shmtr[i]->wrQueue); - - if (maxnorm - maxnorm * queueSize / buffSize < j) { - fputc('|', stderr); - } else { - fputc(' ', stderr); - } - } - fputc('\n', stderr); - } - - /* The following is just to print the numbers of buffers */ - int factor, mod; - - fputs("q:", stderr); - factor = 0; - for (i = 0; i < theArgs->nrOfMsgs; i++) { - mod = i % 10; - fprintf(stderr, "%1d", mod); - } - fputc('\n', stderr); - - fputs(" ", stderr); - for (i = 0; i < theArgs->nrOfMsgs; i++) { - mod = i % 10; - if (mod == 0) - fprintf(stderr, "%1d", i / 10); - else - fputc(' ', stderr); - } - fputc('\n', stderr); - - fputs("------------------ discarded packets -----------------------------------------\n", stderr); - for (j = 0; j < maxnorm; j++) { - fprintf(stderr, "%1d ", maxnorm - j - 1); - for (i = 0; i < theArgs->nrOfMsgs; i++) { - pktsDisc = (*my[i]->pktsDiscarded); - - if (maxnorm - (pktsDisc + maxnorm - 1) / maxnorm < j) { - fputc('D', stderr); - } else { - fputc(' ', stderr); - } - } - fputc('\n', stderr); - } - - /* get wall-clock time */ - printTime(); - } - } - - t0 = t; -} - static void storeEvtStat(TheArgs *myArgs, unsigned long pktsDiscard, unsigned long msgsDiscard, unsigned long queue) { @@ -445,8 +357,7 @@ static void statsDump(TheArgs *theArgs, NetTrans **my, int interval) time_t dT; int i; - if (theArgs->isStandalone && strcmp(theArgs->verbosity, "info") == 0 && (dT = (time(NULL) - lastTime)) >= interval - && !(theArgs->buffStat)) { + if (theArgs->isStandalone && strcmp(theArgs->verbosity, "info") == 0 && (dT = (time(NULL) - lastTime)) >= interval) { fputs("==============================================================================\n", stderr); for (i = 0; i < theArgs->nrOfMsgs; i++) { @@ -635,7 +546,6 @@ int main(int argc, char *argv[]) add2Stat(theArgs, theStats, 1, shmTrans, netTrans); statsDump(theArgs, netTrans, 1); - statsBufferDump(theArgs, 1, shmTrans, netTrans); for (i = 0; i < theArgs->nrOfMsgs; i++) { if (hadTu[i] == NULL) { -- 2.43.0