cons: disable dangerous conswrites()
[akaros.git] / tests / ttcp.c
index fce365d..aa5e502 100644 (file)
@@ -59,6 +59,7 @@ long nread(int fd, char *buf, long len)
 {
        int cnt, rlen = 0;
        char *b = buf;
+
        for (;;) {
                cnt = read(fd, b, len);
                ncalls++;
@@ -77,6 +78,7 @@ long nwrite(int fd, char *buf, long len)
 {
        int cnt, rlen = 0;
        char *b = buf;
+
        for (;;) {
                cnt = write(fd, b, len);
                ncalls++;
@@ -96,6 +98,7 @@ void pattern(char *buf, int buflen)
        int i;
        char ch = ' ';
        char *b = buf;
+
        for (i = 0; i < buflen; i++) {
                *b++ = ch++;
                if (ch == 127)
@@ -134,17 +137,21 @@ double rate(long nbytes, double time)
 void reader(int udp, char *addr, char *port, int buflen, int nbuf, int sink)
 {
        char *buf, adir[40], ldir[40];
+       char *ds, ds_store[256];
        int fd, cnt, acfd, lcfd;
        long nbytes = 0;
        long now;
        double elapsed;
        int pd;
        char peer[100];
+       double tput;
 
        fprintf(stderr, "ttcp-r: buflen=%d, nbuf=%d, port=%s %s\n",
                buflen, nbuf, port, udp ? "udp" : "tcp");
 
-       acfd = announce9(netmkaddr(addr, udp ? "udp" : "tcp", port), adir, 0);
+       ds = netmkaddr(addr, udp ? "udp" : "tcp", port, ds_store,
+                      sizeof(ds_store));
+       acfd = announce9(ds, adir, 0);
        if (acfd < 0)
                sysfatal("announce: %r");
        buf = malloc(buflen);
@@ -168,13 +175,16 @@ void reader(int udp, char *addr, char *port, int buflen, int nbuf, int sink)
                while ((cnt = nread(fd, buf, buflen)) > 0)
                        nbytes += cnt;
        } else {
-               while ((cnt = nread(fd, buf, buflen)) > 0 && write(1, buf, cnt) == cnt)
+               while ((cnt = nread(fd, buf, buflen)) > 0
+                      && write(1, buf, cnt) == cnt)
                        nbytes += cnt;
        }
        elapsed = (nsec() - now) / 1E9;
 
-       fprintf(stderr, "ttcp-r: %lld bytes in %.2f real seconds = %.2f %s/sec\n",
-               nbytes, elapsed, rate(nbytes, elapsed), unit);
+       tput = rate(nbytes, elapsed);   /* also sets 'unit' */
+       fprintf(stderr,
+               "ttcp-r: %lld bytes in %.2f real seconds = %.2f %s/sec\n",
+               nbytes, elapsed, tput, unit);
 }
 
 void writer(int udp, char *addr, char *port, int buflen, int nbuf, int src)
@@ -185,6 +195,7 @@ void writer(int udp, char *addr, char *port, int buflen, int nbuf, int src)
        long now;
        double elapsed;
        char netaddr[128];
+       double tput;
 
        fprintf(stderr, "ttcp-t: buflen=%d, nbuf=%d, port=%s %s -> %s\n",
                    buflen, nbuf, port, udp ? "udp" : "tcp", addr);
@@ -205,13 +216,16 @@ void writer(int udp, char *addr, char *port, int buflen, int nbuf, int src)
                while (nbuf-- && nwrite(fd, buf, buflen) == buflen)
                        nbytes += buflen;
        } else {
-               while ((cnt = read(0, buf, buflen)) > 0 && nwrite(fd, buf, cnt) == cnt)
+               while ((cnt = read(0, buf, buflen)) > 0
+                      && nwrite(fd, buf, cnt) == cnt)
                        nbytes += cnt;
        }
        elapsed = (nsec() - now) / 1E9;
 
-       fprintf(stderr, "ttcp-t: %lld bytes in %.2f real seconds = %.2f %s/sec\n",
-               nbytes, elapsed, rate(nbytes, elapsed), unit);
+       tput = rate(nbytes, elapsed);   /* also sets 'unit' */
+       fprintf(stderr,
+               "ttcp-t: %lld bytes in %.2f real seconds = %.2f %s/sec\n",
+               nbytes, elapsed, tput, unit);
 }
 
 void usage(void)