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
 
-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 <unistd.h>
 #include "nettrans.h"
 #include "shmtrans.h"
 
+#define MAXINPATH 32
+
 static jmp_buf terminateJmp;
 
 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();
 }
 
   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;
     case 'm':
       nrOfMsgs = atoi(optarg);
       break;
+    case 'i':
+      inPath[inPathCnt++] = optarg;
+      break;
     case 'p':
       priority = atoi(optarg);
       break;
       break;
     }
   }
-  if (nrOfMsgs == 0) {
-    msglog(LOG_ERR, "missing nrOfMsgs\n");
+  if (inPathCnt == 0 || nrOfMsgs == 0 || inPathCnt != nrOfMsgs) {
     usage(argv[0]);
     exit(EXIT_FAILURE);
   }
     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);
 
-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 <unistd.h>
                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;
        }
 
   NetTransType type;
   LAtm *lAtm;
   size_t mtuSize;
+  int fd;
   void *pkt;
   UInt4 seqNr;
   size_t offset;
 
-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
 
 #include "psxshm.h"
 
 typedef struct StatisticS {
-  char name[32];
+  char name[256];
   unsigned long value;
 } Statistic;