debug print cleanup

This commit is contained in:
Zack Buhman 2024-06-23 20:50:15 -05:00
parent 906674962a
commit a4094d60f4
4 changed files with 29 additions and 21 deletions

View File

@ -19,7 +19,7 @@ int handle_ping_pong(int sockfd,
return 0; // recoverable return 0; // recoverable
} }
printf("recv ping; send pong\n"); //printf("recv ping; send pong\n");
struct packet_ping_pong * ping_pkt = (struct packet_ping_pong *)buf; struct packet_ping_pong * ping_pkt = (struct packet_ping_pong *)buf;
int ret = packet_send_pong(sockfd, dest_addr, &ping_pkt->time); int ret = packet_send_pong(sockfd, dest_addr, &ping_pkt->time);
if (ret == -1) { if (ret == -1) {
@ -34,7 +34,7 @@ int handle_ping_pong(int sockfd,
return 0; // recoverable return 0; // recoverable
} }
printf("recv pong\n"); //printf("recv pong\n");
struct packet_ping_pong * ping_pkt = (struct packet_ping_pong *)buf; struct packet_ping_pong * ping_pkt = (struct packet_ping_pong *)buf;
struct timespec now; struct timespec now;
int ret = clock_gettime(CLOCK_MONOTONIC_RAW, &now); int ret = clock_gettime(CLOCK_MONOTONIC_RAW, &now);
@ -44,10 +44,9 @@ int handle_ping_pong(int sockfd,
struct timespec * rtt = &link_state->ping_pong_rtt[link_state->rtt_ix]; struct timespec * rtt = &link_state->ping_pong_rtt[link_state->rtt_ix];
link_state->rtt_ix = (link_state->rtt_ix + 1) % RTT_AVERAGE_SAMPLES; link_state->rtt_ix = (link_state->rtt_ix + 1) % RTT_AVERAGE_SAMPLES;
*rtt = diff_timespec(&now, &ping_pkt->time); *rtt = diff_timespec(&now, &ping_pkt->time);
printf("rtt: %ld.%09ld\n", rtt->tv_sec, rtt->tv_nsec); printf("pong rtt: %ld.%09ld\n", rtt->tv_sec, rtt->tv_nsec);
struct timespec average_rtt = average_timespec(link_state->ping_pong_rtt, RTT_AVERAGE_SAMPLES); struct timespec average_rtt = average_timespec(link_state->ping_pong_rtt, RTT_AVERAGE_SAMPLES);
printf("send_average_rtt\n");
ret = packet_send_average_rtt(sockfd, dest_addr, &average_rtt); ret = packet_send_average_rtt(sockfd, dest_addr, &average_rtt);
if (ret == -1) { if (ret == -1) {
return -1; return -1;
@ -60,8 +59,9 @@ int handle_ping_pong(int sockfd,
printf("handle_ping_pong: average_rtt: invalid length\n"); printf("handle_ping_pong: average_rtt: invalid length\n");
return 0; // recoverable return 0; // recoverable
} }
struct packet_ping_pong * ping_pkt = (struct packet_ping_pong *)buf;
printf("recv average_rtt\n"); printf("recv average_rtt: %ld.%09ld\n", ping_pkt->time.tv_sec, ping_pkt->time.tv_nsec);
} }
break; break;
default: default:

View File

@ -4,6 +4,8 @@
#include "link.h" #include "link.h"
#define PING_INTERVAL 5
int handle_ping_pong(int sockfd, int handle_ping_pong(int sockfd,
struct sockaddr_in6 * dest_addr, struct sockaddr_in6 * dest_addr,
void * buf, ssize_t length, void * buf, ssize_t length,

View File

@ -71,7 +71,7 @@ int handle_sockfd(int sockfd,
(struct sockaddr *)&src_addr, &addrlen); (struct sockaddr *)&src_addr, &addrlen);
if (recv_len == -1) { if (recv_len == -1) {
if (errno == EAGAIN || errno == EWOULDBLOCK) { if (errno == EAGAIN || errno == EWOULDBLOCK) {
perror("sock eagain"); //perror("sock eagain");
return 0; return 0;
} else { } else {
perror("recvfrom sock"); perror("recvfrom sock");
@ -79,10 +79,10 @@ int handle_sockfd(int sockfd,
} }
} }
char src_addr_str[INET6_ADDRSTRLEN]; //char src_addr_str[INET6_ADDRSTRLEN];
inet_ntop(AF_INET6, &src_addr.sin6_addr, src_addr_str, INET6_ADDRSTRLEN); //inet_ntop(AF_INET6, &src_addr.sin6_addr, src_addr_str, INET6_ADDRSTRLEN);
printf("Received packet from %s:%d\n", src_addr_str, ntohs(src_addr.sin6_port)); //printf("received packet from %s:%d\n", src_addr_str, ntohs(src_addr.sin6_port));
printf("length: %ld\n", recv_len); //printf("length: %ld\n", recv_len);
int ret = handle_buf(sockfd, dest_addr, buf, recv_len, link_state); int ret = handle_buf(sockfd, dest_addr, buf, recv_len, link_state);
if (ret == -1) { if (ret == -1) {
@ -94,7 +94,7 @@ int handle_sockfd(int sockfd,
int rearm_timer(int timerfd) int rearm_timer(int timerfd)
{ {
struct itimerspec value; struct itimerspec value;
value.it_value.tv_sec = 5; value.it_value.tv_sec = PING_INTERVAL;
value.it_value.tv_nsec = 0; value.it_value.tv_nsec = 0;
value.it_interval.tv_sec = 0; value.it_interval.tv_sec = 0;
value.it_interval.tv_nsec = 0; value.it_interval.tv_nsec = 0;
@ -118,7 +118,7 @@ int handle_timerfd(int timerfd,
ssize_t len = read(timerfd, &expired_count, (sizeof (expired_count))); ssize_t len = read(timerfd, &expired_count, (sizeof (expired_count)));
if (len == -1) { if (len == -1) {
if (errno == EAGAIN || errno == EWOULDBLOCK) { if (errno == EAGAIN || errno == EWOULDBLOCK) {
fprintf(stderr, "timerfd eagain\n"); //fprintf(stderr, "timerfd eagain\n");
break; break;
} else { } else {
perror("read timerfd"); perror("read timerfd");
@ -126,11 +126,9 @@ int handle_timerfd(int timerfd,
} }
} }
assert(len == (sizeof (expired_count))); assert(len == (sizeof (expired_count)));
printf("len %ld\n", len);
} }
rearm_timer(timerfd); rearm_timer(timerfd);
printf("do timer stuff\n");
int ret = packet_send_ping(sockfd, dest_addr); int ret = packet_send_ping(sockfd, dest_addr);
if (ret == -1) { if (ret == -1) {
@ -289,8 +287,6 @@ int main(void)
struct link_state link_state = {0}; struct link_state link_state = {0};
while (1) { while (1) {
printf("Wait for datagram\n");
int nfds = epoll_wait(epollfd, events, MAX_EVENTS, -1); int nfds = epoll_wait(epollfd, events, MAX_EVENTS, -1);
if (nfds == -1) { if (nfds == -1) {
perror("epoll_wait"); perror("epoll_wait");

View File

@ -239,10 +239,11 @@ int handle_sockfd(int sockfd,
} }
} }
char src_addr_str[INET6_ADDRSTRLEN]; //char src_addr_str[INET6_ADDRSTRLEN];
inet_ntop(AF_INET6, &src_addr.sin6_addr, src_addr_str, INET6_ADDRSTRLEN); //inet_ntop(AF_INET6, &src_addr.sin6_addr, src_addr_str, INET6_ADDRSTRLEN);
printf("Received packet from %s:%d\n", src_addr_str, ntohs(src_addr.sin6_port)); //printf("received packet from %s:%d\n", src_addr_str, ntohs(src_addr.sin6_port));
printf("length: %ld\n", recv_len); //printf("length: %ld\n", recv_len);
int ret = handle_buf(sockfd, dest_addr, buf, recv_len, timer_state, link_state); int ret = handle_buf(sockfd, dest_addr, buf, recv_len, timer_state, link_state);
if (ret == -1) { if (ret == -1) {
return -1; return -1;
@ -301,6 +302,7 @@ int main()
int last_width = -1; int last_width = -1;
uint64_t ticks = SDL_GetTicks(); uint64_t ticks = SDL_GetTicks();
uint64_t last_ping_tick = 0;
const int min_length = 5; const int min_length = 5;
int max_length = min_length; int max_length = min_length;
@ -380,7 +382,7 @@ int main()
int window_height; int window_height;
ret = SDL_GetWindowSizeInPixels(window, &window_width, &window_height); ret = SDL_GetWindowSizeInPixels(window, &window_width, &window_height);
assert(ret == 0); assert(ret == 0);
if ((window_width != last_width) || (length > max_length)) { if ((window_width != last_width) || (length > max_length)) {
max_length = max(min_length, length); max_length = max(min_length, length);
last_width = window_width; last_width = window_width;
@ -395,6 +397,14 @@ int main()
while (SDL_GetTicks() - ticks < (1000 / 60)) { SDL_Delay(1); } while (SDL_GetTicks() - ticks < (1000 / 60)) { SDL_Delay(1); }
SDL_RenderPresent(renderer); SDL_RenderPresent(renderer);
ticks = SDL_GetTicks(); ticks = SDL_GetTicks();
if (ticks - last_ping_tick > PING_INTERVAL * 1000) {
//printf("send ping\n");
int ret = packet_send_ping(sockfd, &dest_addr);
if (ret == -1) {
return -1;
}
last_ping_tick = ticks;
}
SDL_Event event; SDL_Event event;
while (SDL_PollEvent(&event)) { while (SDL_PollEvent(&event)) {