From bd443301771bc34ae9a5eea1a9f46b55ad3851ab Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Sat, 1 Feb 2020 00:31:13 +0100 Subject: [PATCH] log payloads --- src/meas_lat.c | 11 +++++++---- src/measure.c | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/meas_lat.c b/src/meas_lat.c index 025d62d..ed5af9e 100644 --- a/src/meas_lat.c +++ b/src/meas_lat.c @@ -74,16 +74,19 @@ int on_receive_measure_packet(struct evt_core_ctx* ctx, struct evt_core_fdinfo* struct measlat_ctx* mctx = fdinfo->cat->app_ctx; ssize_t nread; - if (mctx->mc.read_size >= mctx->mc.payload_size) mctx->mc.read_size = 0; + if (mctx->mc.read_size >= mctx->mc.payload_size || strcmp(mctx->transport, "udp") == 0) mctx->mc.read_size = 0; - if (mctx->is_from_needed) nread = recvfrom(fdinfo->fd, mctx->mc.payload_rcv, mctx->mc.payload_size, MSG_TRUNC, (struct sockaddr*)&mctx->addr, &mctx->addrlen); - else nread = recv(fdinfo->fd, mctx->mc.payload_rcv + mctx->mc.read_size, mctx->mc.payload_size - mctx->mc.read_size, 0); + if (mctx->is_from_needed) { + nread = recvfrom(fdinfo->fd, mctx->mc.payload_rcv, mctx->mc.payload_size, MSG_TRUNC, (struct sockaddr*)&mctx->addr, &mctx->addrlen); + } else { + nread = recv(fdinfo->fd, mctx->mc.payload_rcv + mctx->mc.read_size, mctx->mc.payload_size - mctx->mc.read_size, 0); + } if (nread > 0) mctx->mc.read_size += nread; if ((nread == -1 && errno == EAGAIN) || nread == 0) { return 1; } - if (mctx->mc.read_size < mctx->mc.payload_size) { + if (strcmp("udp", mctx->transport) != 0 && mctx->mc.read_size < mctx->mc.payload_size) { return 0; } diff --git a/src/measure.c b/src/measure.c index 4e13890..3e5ab04 100644 --- a/src/measure.c +++ b/src/measure.c @@ -23,7 +23,7 @@ void measure_parse(int size, struct measure_conf* mc) { perror("read error, payload has wrong size"); - exit(EXIT_FAILURE); + //exit(EXIT_FAILURE); } struct measure_packet* head = (struct measure_packet*) mc->payload_rcv; if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1){