From f4613508319b66808db496e1703b4805f511441f Mon Sep 17 00:00:00 2001 From: muench Date: Fri, 18 Feb 2000 13:40:12 +0000 Subject: [PATCH] *** empty log message *** --- hadaq/cmds.tcl | 2 +- hadaq/netmem.c | 22 +++++++++++++--------- hadaq/nettrans.c | 13 ++++++++++++- hadaq/nettrans.h | 1 + hadaq/soft.tcl | 37 ++++++++++--------------------------- hadaq/worker.h | 2 +- 6 files changed, 38 insertions(+), 39 deletions(-) diff --git a/hadaq/cmds.tcl b/hadaq/cmds.tcl index f261283..1ed4c1d 100644 --- a/hadaq/cmds.tcl +++ b/hadaq/cmds.tcl @@ -129,7 +129,7 @@ proc createWorker {worker opts} { lappend workerList $worker regexp {^([^:]*):([^:]*)$} $worker workers($worker.name) workers($worker.agent) workers($worker.file) - set workers($worker.file) daq_$workers($worker.file) + set workers($worker.file) ./daq_$workers($worker.file) set workers($worker.opts) $opts set workers($worker.addOpts) {} set workers($worker.status) down diff --git a/hadaq/netmem.c b/hadaq/netmem.c index d9f45e0..4b516c4 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.6 1999-11-21 16:27:23 hades Rel $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/netmem.c,v 6.7 2000-02-18 13:44:54 muench Exp $"; #define _XOPEN_SOURCE #include @@ -15,6 +15,8 @@ static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/had #include "nettrans.h" #include "shmtrans.h" +#define MAXINPATH 32 + static jmp_buf terminateJmp; void sigHandler(int sig) @@ -24,7 +26,7 @@ void sigHandler(int sig) static void usage(const char *progName) { - msglog(LOG_ERR, "Usage: %s -m nrOfMsgs [-p priority]\n", progName); + msglog(LOG_ERR, "Usage: %s -i inPath [-i inPath] -m nrOfMsgs [-p priority]\n", progName); msglog_usage(); } @@ -37,17 +39,20 @@ int main(int argc, char *argv[]) void **hadTu; size_t *hadTuSize; int priority; + char *inPath[MAXINPATH]; + int inPathCnt; int isStandalone; int nrOfMsgs; size_t queueSize; msglog_setlevel(argv[0], "info"); + inPathCnt = 0; priority = 0; isStandalone = 1; nrOfMsgs = 0; queueSize = 1 * 1024 * 1024; - while ((i = getopt(argc, argv, "am:p:v:")) != -1) { + while ((i = getopt(argc, argv, "ai:m:p:v:")) != -1) { switch (i) { case 'a': isStandalone = 0; @@ -55,6 +60,9 @@ int main(int argc, char *argv[]) case 'm': nrOfMsgs = atoi(optarg); break; + case 'i': + inPath[inPathCnt++] = optarg; + break; case 'p': priority = atoi(optarg); break; @@ -68,8 +76,7 @@ int main(int argc, char *argv[]) break; } } - if (nrOfMsgs == 0) { - msglog(LOG_ERR, "missing nrOfMsgs\n"); + if (inPathCnt == 0 || nrOfMsgs == 0 || inPathCnt != nrOfMsgs) { usage(argv[0]); exit(EXIT_FAILURE); } @@ -83,10 +90,7 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } for (i = 0; i < nrOfMsgs; i++) { - char buf[80]; - - sprintf(buf, "ATM:0:%d", i + 50); - netTrans[i] = NetTrans_create(buf, 0, worker); + netTrans[i] = NetTrans_create(inPath[i], 0, worker); if (netTrans[i] == NULL) { msglog(LOG_ERR, "%s, %d: %s\n", __FILE__, __LINE__, strerror(errno)); exit(EXIT_FAILURE); diff --git a/hadaq/nettrans.c b/hadaq/nettrans.c index cbbe329..7336306 100644 --- a/hadaq/nettrans.c +++ b/hadaq/nettrans.c @@ -1,4 +1,4 @@ -static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/nettrans.c,v 6.9 2000-02-18 11:59:24 muench Exp $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/nettrans.c,v 6.10 2000-02-18 13:40:12 muench Exp $"; #define _XOPEN_SOURCE_EXTENDED #include @@ -194,6 +194,17 @@ int sendGeneric(NetTrans *my) { retVal = LAtm_send(my->lAtm, my->pkt, Pkt_size(my->pkt)); break; case NetTransType_udp: +#if 1 /* This limits the output data rate to 100 * mtuSize / s */ + { + static int i = 0; + if (i++ % 2 != 0) { + struct timespec tS, *t = &tS; + t->tv_sec = 0; + t->tv_nsec = 020000000; + nanosleep(t, NULL); + } + } +#endif retVal = send(my->fd, my->pkt, Pkt_size(my->pkt), 0); break; } diff --git a/hadaq/nettrans.h b/hadaq/nettrans.h index 61a3ab8..68c4df2 100644 --- a/hadaq/nettrans.h +++ b/hadaq/nettrans.h @@ -18,6 +18,7 @@ typedef struct NetTransS { NetTransType type; LAtm *lAtm; size_t mtuSize; + int fd; void *pkt; UInt4 seqNr; size_t offset; diff --git a/hadaq/soft.tcl b/hadaq/soft.tcl index 58286fb..307eabd 100644 --- a/hadaq/soft.tcl +++ b/hadaq/soft.tcl @@ -1,29 +1,12 @@ -agent create hades24 root /home/hades/lt99/eb/hadaq -agent create hades23 hades /home/hades/lt99/show/hadaq -agent create hades21 hades /home/hades/lt99/mdc/hadaq -agent create hades20 hades /home/hades/lt99/rich/hadaq -agent create hades19 hades /home/hades/lt99/tof/hadaq -worker create hades24:evtbuild -a -p -2 -s 8 -m 4 -f runinfo.tcl -worker create hades24:netmem -a -p -1 -m 4 -worker create hades23:memnet -a -p -1 -o ATM:0:50 -w 2500 -worker create hades23:readout -a -p -2 -worker create hades21:memnet -a -p -1 -o ATM:0:51 -w 2500 -worker create hades21:readout -a -p -2 -worker create hades20:memnet -a -p -1 -o ATM:0:52 -w 2500 -worker create hades20:readout -a -p -2 -worker create hades19:memnet -a -p -1 -o ATM:0:53 -w 2500 -worker create hades19:readout -a -p -2 -worker create hades20:ctrlctu -a -p 0 +agent create acheron muench /home/muench/hdev/daq/hadaq +agent create mimas muench /home/muench/hdev/daq/hadaq +worker create acheron:evtbuild -a -p -2 -s 2 -m 1 +worker create acheron:netmem -a -p -1 -m 1 -i UDP:0.0.0.0:3000 +worker create mimas:memnet -a -p -1 -w 2500 -o UDP:129.187.154.22:3000 +worker create mimas:readout -a -p -2 group create acquisition group create run -group add acquisition hades23:memnet -group add acquisition hades23:readout -group add acquisition hades21:memnet -group add acquisition hades21:readout -group add acquisition hades20:memnet -group add acquisition hades20:readout -group add acquisition hades19:memnet -group add acquisition hades19:readout -group add acquisition hades20:ctrlctu -group add run hades24:evtbuild -group add run hades24:netmem +group add acquisition mimas:memnet +group add acquisition mimas:readout +group add run acheron:evtbuild +group add run acheron:netmem diff --git a/hadaq/worker.h b/hadaq/worker.h index 0a7b0e1..910a7d2 100644 --- a/hadaq/worker.h +++ b/hadaq/worker.h @@ -6,7 +6,7 @@ #include "psxshm.h" typedef struct StatisticS { - char name[32]; + char name[256]; unsigned long value; } Statistic; -- 2.43.0