verbose mode cleanup.

This commit is contained in:
Matthieu Herrb 2012-07-31 08:44:18 +02:00
parent c00525adaa
commit bbc8be8551

33
echoc.c
View file

@ -54,7 +54,7 @@ send_packet(int unused)
if (verbose) if (verbose)
warn("sendto"); warn("sendto");
} }
if (verbose > 1) if (verbose)
printf("sent %d\n", seq); printf("sent %d\n", seq);
seq++; seq++;
} }
@ -109,7 +109,7 @@ main(int argc, char *argv[])
if (sock == -1) if (sock == -1)
err(1, "socket"); err(1, "socket");
disconnected = 1; disconnected = 0;
memset(&client, 0, sizeof(client)); memset(&client, 0, sizeof(client));
/* timer values */ /* timer values */
@ -139,23 +139,17 @@ main(int argc, char *argv[])
break; break;
if (nfds == -1 && errno != EINTR) if (nfds == -1 && errno != EINTR)
warn("poll error"); warn("poll error");
if (verbose > 2)
printf("%d %s\n", nfds, strerror(errno));
if (verbose > 1)
printf("wait %ld.%06ld\n",
(long)diff.tv_sec, diff.tv_usec);
if (diff.tv_sec > 0 || diff.tv_usec > 500000) { if (diff.tv_sec > 0 || diff.tv_usec > 500000) {
if (verbose)
printf("timeout %ld.%06ld\n",
(long)diff.tv_sec, diff.tv_usec);
disconnected++; disconnected++;
nfds = 0; nfds = 0;
break; break;
} }
} }
if ((nfds == 0)) { if ((nfds == 0)) {
if (verbose > 1) if (verbose)
printf("!! %d packet(s) dropped\n", seq - last); printf("%d packet(s) dropped in %ld.%06ld s\n",
seq - last, diff.tv_sec, diff.tv_usec);
if (disconnected == 1) { if (disconnected == 1) {
tm = localtime((time_t *)&now.tv_sec); tm = localtime((time_t *)&now.tv_sec);
strftime(buf, sizeof(buf), "%F %T", tm); strftime(buf, sizeof(buf), "%F %T", tm);
@ -164,10 +158,6 @@ main(int argc, char *argv[])
} }
continue; continue;
} }
if (ioctl(sock, FIONREAD, &received) == -1)
warn("ioctl FIONREAD");
if (verbose > 1)
printf("received %d bytes ", received);
addrlen = sizeof(client); addrlen = sizeof(client);
if ((received = recvfrom(sock, &buffer, sizeof(buffer), if ((received = recvfrom(sock, &buffer, sizeof(buffer),
MSG_DONTWAIT, MSG_DONTWAIT,
@ -187,21 +177,20 @@ main(int argc, char *argv[])
name); name);
} }
} }
if (disconnected >= THRESHOLD) { if (disconnected) {
tm = localtime((time_t *)&now.tv_sec); tm = localtime((time_t *)&now.tv_sec);
strftime(buf, sizeof(buf), "%F %T", tm); strftime(buf, sizeof(buf), "%F %T", tm);
printf("%s.%06ld: connection is back\n", printf("%s.%06ld: connection is back\n",
buf, now.tv_usec); buf, now.tv_usec);
if (verbose) if (verbose)
printf("dropped %d paquets\n", seq - last); printf("dropped %d paquets\n", seq - last);
exit(3); disconnected = 0;
} }
disconnected = 0;
last = buffer; last = buffer;
gettimeofday(&sent, NULL); gettimeofday(&sent, NULL);
if (verbose > 1) if (verbose)
printf("%d %ld.%06ld\n", buffer, (long)diff.tv_sec, printf("received %d %ld.%06ld\n", buffer,
diff.tv_usec); (long)diff.tv_sec, diff.tv_usec);
} }
close(sock); close(sock);
exit(0); exit(0);