From ce6affa4925c1f98be6aa0839a33e7e422dc3328 Mon Sep 17 00:00:00 2001 From: sdemeesterde <samuel.demeester@student.uclouvain.be> Date: Fri, 22 Apr 2022 15:22:51 +0200 Subject: [PATCH] sender now discard FEC/DATA pkt --- src/packet_interface.c | 2 +- src/packet_interface.h | 1 + src/sender_utils.c | 7 +++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/packet_interface.c b/src/packet_interface.c index 7811f7b..a255a01 100644 --- a/src/packet_interface.c +++ b/src/packet_interface.c @@ -124,7 +124,7 @@ pkt_status_code pkt_decode_data_fec(const char *data, const size_t len, pkt_t *p pkt_status_code pkt_decode(const char *data, const size_t len, pkt_t *pkt) { ptypes_t type = ((data[0]) & TYPE_MASK) >> TYPE_SHIFT; - if ( type == PTYPE_ACK || type == PTYPE_NACK) + if (type == PTYPE_ACK || type == PTYPE_NACK) { return pkt_decode_ack_nack(data, len, pkt); } else diff --git a/src/packet_interface.h b/src/packet_interface.h index 7428389..930f455 100644 --- a/src/packet_interface.h +++ b/src/packet_interface.h @@ -10,6 +10,7 @@ #include <stdio.h> /* ssize_t */ #include <zlib.h> +#include "log.h" /* Taille maximale permise pour le payload */ #define MAX_PAYLOAD_SIZE 512 diff --git a/src/sender_utils.c b/src/sender_utils.c index d80d533..18acddf 100644 --- a/src/sender_utils.c +++ b/src/sender_utils.c @@ -123,6 +123,13 @@ int handle_returning_ack_nack(sender_state_t *state, int socket_fd) uint8_t r_window = pkt_get_window(pkt); pkt_del(pkt); + if (pkt_type != PTYPE_ACK && pkt_type != PTYPE_NACK) + { + state->stats->packet_ignored++; + DEBUG("The sender has received a pkt with the type PTYPE_ACK or PTYPE_NACK so it discard it !"); + return 0; + } + // Handling NACK: if (pkt_type == PTYPE_NACK) { -- GitLab