]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
Short format of inPath. Sergey.
authorhadaq <hadaq>
Fri, 23 Jul 2010 12:38:23 +0000 (12:38 +0000)
committerhadaq <hadaq>
Fri, 23 Jul 2010 12:38:23 +0000 (12:38 +0000)
hadaq/netmem.c

index c255962bf89e3fabf33398a312444030b3007c70..e1949d667dc426f833a1078fd74b5cd69c8bc370 100644 (file)
@@ -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) {