diff --git a/maldives.log b/maldives.log
new file mode 100644
index 0000000000000000000000000000000000000000..d98e18e2fcf332f4ddd1ac4aeb365a1db46541e9
--- /dev/null
+++ b/maldives.log
@@ -0,0 +1,24 @@
+Maldives (DNS)
+--- traceroute to 103.110.109.106 (103.110.109.106), 64 hops max ---
+  1   192.168.1.1  7,455ms  3,066ms  3,234ms 
+  2   10.24.146.9  10,552ms  10,199ms  9,976ms 
+  3   *  *  * 
+  4   91.183.242.136  89,243ms  12,102ms  12,606ms 
+  5   *  *  * 
+  6   194.53.172.33  19,592ms  13,820ms  13,911ms 
+  7   184.104.193.137  21,496ms  20,755ms  22,760ms 
+  8   *  *  * 
+  9   184.105.65.13  286,164ms  204,393ms  409,504ms 
+ 10   74.82.51.50  409,893ms  409,093ms  205,535ms 
+ 11   202.1.205.242  408,977ms  208,237ms  406,101ms 
+ 12   27.114.138.115  409,937ms  409,409ms  410,123ms 
+ 13   103.31.84.106  340,534ms  273,360ms  * 
+ 14   *  *  * 
+ 15   *  *  * 
+ 16   103.110.109.106  289,133ms  410,090ms  229,577ms 
+
+--- 103.110.109.106 ping statistics ---
+120 packets transmitted, 105 received, 12,5% packet loss, time 119255ms
+rtt min/avg/max/mdev = 230.242/352.584/744.943/93.245 ms
+
+
diff --git a/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_link.log b/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_link.log
new file mode 100644
index 0000000000000000000000000000000000000000..39a70e932e0e12d2937693418206eed2f86eda42
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_link.log
@@ -0,0 +1,18 @@
+@@ Using random seed: 1650895864
+@@ Using parameters:
+.. port: 65054
+.. forward_port: 65082
+.. delay: 0
+.. jitter: 0
+.. err_rate: 20
+.. cut_rate: 30
+.. loss_rate: 25
+.. seed: 1650895864
+.. link_direction: Forward
+@@ Remote host is ::1 [57419]
+[SEQ   0] Sent packet (Forward).
+[SEQ   1] Sent packet (Reverse).
+[SEQ   1] Dropping packet
+[FEC   0] Sent packet (Forward).
+[SEQ   1] Sent packet (Forward).
+[SEQ   2] Sent packet (Reverse).
diff --git a/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_received_file.txt b/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_received_file.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c57eff55ebc0c54973903af5f72bac72762cf4f4
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_received_file.txt
@@ -0,0 +1 @@
+Hello World!
\ No newline at end of file
diff --git a/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_receiver.log b/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_receiver.log
new file mode 100644
index 0000000000000000000000000000000000000000..ef5f076a6c3180318873261091eefd534579c574
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_receiver.log
@@ -0,0 +1,14 @@
+[DEBUG] Receiver has following arguments: stats_filename is tests_logs/advanced_tests/greeting/with_FEC/greeting_receiver_stats.csv, listen_ip is ::1, listen_port is 65082
+[DEBUG] Successfully bound to IPv6 address : 0000:0000:0000:0000:0000:0000:0000:0001, port : 65082
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65054
+[DEBUG] Received data packet seqnum 0 with timestamp 984824098 | current_window_size : 31, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 1, timestamp 0
+[DEBUG] Received FEC with seqnum [0] but wasn't used
+[DEBUG] Received data packet seqnum 1 with timestamp 0 | current_window_size : 30, current_window_start : 0
+[DEBUG] Going to consume the next 2 packets.
+[DEBUG] Consuming packet : 0 | curr_recv_window = 29, recv_window_start = 0
+[DEBUG] Consuming packet : 1 | curr_recv_window = 30, recv_window_start = 1
+[DEBUG] Received the last packet
+[DEBUG] Sent ACK saying we are waiting for 2, timestamp 0
+[DEBUG] Done the transfer with done status being true
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/greeting/with_FEC/greeting_receiver_stats.csv.
diff --git a/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_sender.log b/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_sender.log
new file mode 100644
index 0000000000000000000000000000000000000000..4322e8005641533fe2921572061aed0c5c56db82
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/with_FEC/adv_greeting_sender.log
@@ -0,0 +1,27 @@
+[DEBUG] Sender has following arguments: 
+		filename is tests_files/greeting.txt,
+		stats_filename is tests_logs/advanced_tests/greeting/with_FEC/greeting_sender_stats.csv,
+		fec_enabled is 1,
+		receiver_ip is ::1,
+		receiver_port is 65054
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65054
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 1
+[DEBUG] The LAST PTYPE_DATA is being sent !
+[DEBUG] Sending the pkt with seqnum: 0
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 1 has been received
+[DEBUG] The sender is cumulatively acknowledging [0 : 1[ (place in the buffer) | [0, 1[ (seqnum)
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 30
+[DEBUG] The CLOSING pkt is being sent !
+[DEBUG] Sending the pkt with seqnum: 1
+[DEBUG] A timer of -> 30000ms <- has started after sending the last PTYPE_DATA pkt !
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 30 | receiver window size: 29
+[DEBUG] Sending LAST FEC pkt with seqnum: 0
+[DEBUG] A timer of -> 30000ms <- has started after sending the last PTYPE_DATA pkt !
+[DEBUG] The pkt with seqnum: 1 has timeout
+[DEBUG] Sending the pkt with seqnum: 1
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 2 has been received
+[DEBUG] The sender is cumulatively acknowledging [1 : 2[ (place in the buffer) | [1, 2[ (seqnum)
+[DEBUG] Sender disconnected
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/greeting/with_FEC/greeting_sender_stats.csv.
diff --git a/tests_logs/advanced_tests/greeting/with_FEC/adv_valgrind_greeting_receiver.log b/tests_logs/advanced_tests/greeting/with_FEC/adv_valgrind_greeting_receiver.log
new file mode 100644
index 0000000000000000000000000000000000000000..fc57d2d2d82934cf17945b4a608a195c326a470b
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/with_FEC/adv_valgrind_greeting_receiver.log
@@ -0,0 +1,15 @@
+==8932== Memcheck, a memory error detector
+==8932== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==8932== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==8932== Command: ./receiver ::1 65082 -s tests_logs/advanced_tests/greeting/with_FEC/greeting_receiver_stats.csv
+==8932== Parent PID: 8897
+==8932== 
+==8932== 
+==8932== HEAP SUMMARY:
+==8932==     in use at exit: 0 bytes in 0 blocks
+==8932==   total heap usage: 14 allocs, 14 frees, 10,354 bytes allocated
+==8932== 
+==8932== All heap blocks were freed -- no leaks are possible
+==8932== 
+==8932== For lists of detected and suppressed errors, rerun with: -s
+==8932== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/greeting/with_FEC/adv_valgrind_greeting_sender.log b/tests_logs/advanced_tests/greeting/with_FEC/adv_valgrind_greeting_sender.log
new file mode 100644
index 0000000000000000000000000000000000000000..741018e860882d20b9fe5a288714cfe50809bbfe
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/with_FEC/adv_valgrind_greeting_sender.log
@@ -0,0 +1,15 @@
+==8933== Memcheck, a memory error detector
+==8933== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==8933== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==8933== Command: ./sender -f tests_files/greeting.txt ::1 65054 -c -s tests_logs/advanced_tests/greeting/with_FEC/greeting_sender_stats.csv
+==8933== Parent PID: 8897
+==8933== 
+==8933== 
+==8933== HEAP SUMMARY:
+==8933==     in use at exit: 0 bytes in 0 blocks
+==8933==   total heap usage: 10 allocs, 10 frees, 4,392 bytes allocated
+==8933== 
+==8933== All heap blocks were freed -- no leaks are possible
+==8933== 
+==8933== For lists of detected and suppressed errors, rerun with: -s
+==8933== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/greeting/with_FEC/greeting_receiver_stats.csv b/tests_logs/advanced_tests/greeting/with_FEC/greeting_receiver_stats.csv
new file mode 100644
index 0000000000000000000000000000000000000000..41c1dd571c47ccfac64afa6aee76a616b1c1e591
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/with_FEC/greeting_receiver_stats.csv
@@ -0,0 +1,11 @@
+data_sent:0
+data_received:2
+data_truncated_received:0
+fec_sent:0
+fec_received:1
+ack_sent:2
+ack_received:0
+nack_received:0
+packet_ignored:0
+packet_duplicated:0
+packet_recovered:0
diff --git a/tests_logs/advanced_tests/greeting/with_FEC/greeting_sender_stats.csv b/tests_logs/advanced_tests/greeting/with_FEC/greeting_sender_stats.csv
new file mode 100644
index 0000000000000000000000000000000000000000..db69d143a6093547c7094aba7445e28e990f8502
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/with_FEC/greeting_sender_stats.csv
@@ -0,0 +1,12 @@
+data_sent:3
+data_received:0
+data_truncated_received:0
+fec_sent:1
+fec_received:0
+ack_sent:0
+ack_received:2
+nack_received:0
+packet_ignored:0
+min_rtt:12
+max_rtt:2007
+packet_retransmitted:1
diff --git a/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_link.log b/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_link.log
new file mode 100644
index 0000000000000000000000000000000000000000..9c501800165b44e3bb14b3ddd6a2a1ad5f5f210c
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_link.log
@@ -0,0 +1,16 @@
+@@ Using random seed: 1650895872
+@@ Using parameters:
+.. port: 65162
+.. forward_port: 65020
+.. delay: 0
+.. jitter: 0
+.. err_rate: 20
+.. cut_rate: 30
+.. loss_rate: 25
+.. seed: 1650895872
+.. link_direction: Forward
+@@ Remote host is ::1 [57103]
+[SEQ   0] Sent packet (Forward).
+[SEQ   1] Sent packet (Reverse).
+[SEQ   1] Sent packet (Forward).
+[SEQ   2] Sent packet (Reverse).
diff --git a/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_received_file.txt b/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_received_file.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c57eff55ebc0c54973903af5f72bac72762cf4f4
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_received_file.txt
@@ -0,0 +1 @@
+Hello World!
\ No newline at end of file
diff --git a/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_receiver.log b/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_receiver.log
new file mode 100644
index 0000000000000000000000000000000000000000..46061bde49ce286a1599e3b89e58bb9d17fc5b2d
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_receiver.log
@@ -0,0 +1,13 @@
+[DEBUG] Receiver has following arguments: stats_filename is tests_logs/advanced_tests/greeting/without_FEC/greeting_receiver_stats.csv, listen_ip is ::1, listen_port is 65020
+[DEBUG] Successfully bound to IPv6 address : 0000:0000:0000:0000:0000:0000:0000:0001, port : 65020
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65162
+[DEBUG] Received data packet seqnum 0 with timestamp 984824098 | current_window_size : 31, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 1, timestamp 0
+[DEBUG] Received data packet seqnum 1 with timestamp 0 | current_window_size : 30, current_window_start : 0
+[DEBUG] Going to consume the next 2 packets.
+[DEBUG] Consuming packet : 0 | curr_recv_window = 29, recv_window_start = 0
+[DEBUG] Consuming packet : 1 | curr_recv_window = 30, recv_window_start = 1
+[DEBUG] Received the last packet
+[DEBUG] Sent ACK saying we are waiting for 2, timestamp 0
+[DEBUG] Done the transfer with done status being true
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/greeting/without_FEC/greeting_receiver_stats.csv.
diff --git a/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_sender.log b/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_sender.log
new file mode 100644
index 0000000000000000000000000000000000000000..8bb9e77f37fbd57c8e0613e842b08eeab605a3c5
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/without_FEC/adv_greeting_sender.log
@@ -0,0 +1,22 @@
+[DEBUG] Sender has following arguments: 
+		filename is tests_files/greeting.txt,
+		stats_filename is tests_logs/advanced_tests/greeting/without_FEC/greeting_sender_stats.csv,
+		fec_enabled is 0,
+		receiver_ip is ::1,
+		receiver_port is 65162
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65162
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 1
+[DEBUG] The LAST PTYPE_DATA is being sent !
+[DEBUG] Sending the pkt with seqnum: 0
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 1 has been received
+[DEBUG] The sender is cumulatively acknowledging [0 : 1[ (place in the buffer) | [0, 1[ (seqnum)
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 30
+[DEBUG] The CLOSING pkt is being sent !
+[DEBUG] Sending the pkt with seqnum: 1
+[DEBUG] A timer of -> 30000ms <- has started after sending the last PTYPE_DATA pkt !
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 2 has been received
+[DEBUG] The sender is cumulatively acknowledging [1 : 2[ (place in the buffer) | [1, 2[ (seqnum)
+[DEBUG] Sender disconnected
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/greeting/without_FEC/greeting_sender_stats.csv.
diff --git a/tests_logs/advanced_tests/greeting/without_FEC/adv_valgrind_greeting_receiver.log b/tests_logs/advanced_tests/greeting/without_FEC/adv_valgrind_greeting_receiver.log
new file mode 100644
index 0000000000000000000000000000000000000000..f0d7fd8d6fe90d2bb89074382aef55c81598e02a
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/without_FEC/adv_valgrind_greeting_receiver.log
@@ -0,0 +1,15 @@
+==8980== Memcheck, a memory error detector
+==8980== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==8980== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==8980== Command: ./receiver ::1 65020 -s tests_logs/advanced_tests/greeting/without_FEC/greeting_receiver_stats.csv
+==8980== Parent PID: 8897
+==8980== 
+==8980== 
+==8980== HEAP SUMMARY:
+==8980==     in use at exit: 0 bytes in 0 blocks
+==8980==   total heap usage: 13 allocs, 13 frees, 9,826 bytes allocated
+==8980== 
+==8980== All heap blocks were freed -- no leaks are possible
+==8980== 
+==8980== For lists of detected and suppressed errors, rerun with: -s
+==8980== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/greeting/without_FEC/adv_valgrind_greeting_sender.log b/tests_logs/advanced_tests/greeting/without_FEC/adv_valgrind_greeting_sender.log
new file mode 100644
index 0000000000000000000000000000000000000000..a0e3f6b4078a3ef35c38c678099ec2e8b3f4cb59
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/without_FEC/adv_valgrind_greeting_sender.log
@@ -0,0 +1,15 @@
+==8981== Memcheck, a memory error detector
+==8981== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==8981== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==8981== Command: ./sender -f tests_files/greeting.txt ::1 65162 -s tests_logs/advanced_tests/greeting/without_FEC/greeting_sender_stats.csv
+==8981== Parent PID: 8897
+==8981== 
+==8981== 
+==8981== HEAP SUMMARY:
+==8981==     in use at exit: 0 bytes in 0 blocks
+==8981==   total heap usage: 9 allocs, 9 frees, 3,864 bytes allocated
+==8981== 
+==8981== All heap blocks were freed -- no leaks are possible
+==8981== 
+==8981== For lists of detected and suppressed errors, rerun with: -s
+==8981== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/greeting/without_FEC/greeting_receiver_stats.csv b/tests_logs/advanced_tests/greeting/without_FEC/greeting_receiver_stats.csv
new file mode 100644
index 0000000000000000000000000000000000000000..1f614a8947be1bc512438ddf2918bcb56ea856de
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/without_FEC/greeting_receiver_stats.csv
@@ -0,0 +1,11 @@
+data_sent:0
+data_received:2
+data_truncated_received:0
+fec_sent:0
+fec_received:0
+ack_sent:2
+ack_received:0
+nack_received:0
+packet_ignored:0
+packet_duplicated:0
+packet_recovered:0
diff --git a/tests_logs/advanced_tests/greeting/without_FEC/greeting_sender_stats.csv b/tests_logs/advanced_tests/greeting/without_FEC/greeting_sender_stats.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f530c3a4325beb8f1c6a7184c76ed7b3ffe597a7
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/without_FEC/greeting_sender_stats.csv
@@ -0,0 +1,12 @@
+data_sent:2
+data_received:0
+data_truncated_received:0
+fec_sent:0
+fec_received:0
+ack_sent:0
+ack_received:2
+nack_received:0
+packet_ignored:0
+min_rtt:6
+max_rtt:14
+packet_retransmitted:0
diff --git a/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_link.log b/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_link.log
new file mode 100644
index 0000000000000000000000000000000000000000..0c5491d7574c9322487f38bb8eb5f79d0329fb7a
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_link.log
@@ -0,0 +1,25 @@
+@@ Using random seed: 1650895878
+@@ Using parameters:
+.. port: 65105
+.. forward_port: 65092
+.. delay: 0
+.. jitter: 0
+.. err_rate: 20
+.. cut_rate: 30
+.. loss_rate: 25
+.. seed: 1650895878
+.. link_direction: Forward
+@@ Remote host is ::1 [57054]
+[SEQ   0] Corrupting packet: inverted byte #271
+[SEQ   0] Sent packet (Forward).
+[SEQ   0] Sent packet (Forward).
+[SEQ   1] Sent packet (Reverse).
+[SEQ   1] Sent packet (Forward).
+[SEQ   2] Sent packet (Reverse).
+[SEQ   2] Dropping packet
+[SEQ   2] Dropping packet
+[SEQ   2] Sent packet (Forward).
+[SEQ   3] Sent packet (Reverse).
+[SEQ   3] Sent packet (Forward).
+[FEC   0] Dropping packet
+[SEQ   4] Sent packet (Reverse).
diff --git a/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_received_file.txt b/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_received_file.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a18b03ec08fdc53c1f0a5e0fc9187b5a0f18568f
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_received_file.txt
@@ -0,0 +1,29 @@
+Hello I'm a good friend, I've seen that you are writing a protocol named TRTP. 
+How is it going ? Hard ? Good for you. See life is full of hard things just like your 
+network course. But when you manage to thrive throgh tough times then sweet things are 
+ahead. So good luck have a nice day of testing and remember : Tough Times Never Last.
+
+PS: Drink a beer when you pass the test. Share your knowledge to others, computer 
+science isn't a field for selfishness. If you want to switch to Law, Economy, some shit
+
+Hi Vany I'm pleased to read some news from you. As you know I work sometime a bit late in the night.
+In a few hour you'll show up in the famous "Salle Intel" to be really productive as you are.
+
+Best regards,
+
+Samuel
+
+Sorry to be lazy but I'll past down what is above :')
+
+Hello I'm a good friend, I've seen that you are writing a protocol named TRTP. 
+How is it going ? Hard ? Good for you. See life is full of hard things just like your 
+network course. But when you manage to thrive throgh tough times then sweet things are 
+ahead. So good luck have a nice day of testing and remember : Tough Times Never Last.
+
+PS: Drink a beer when you pass the test. Share your knowledge to others, computer 
+science isn't a field for selfishness. If you want to switch to Law, Economy, some shit
+
+Hi Vany I'm pleased to read some news from you. As you know I work sometime a bit late in the night.
+In a few hour you'll show up in the famous "Salle Intel" to be really productive as you are.
+
+Best regards,
diff --git a/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_receiver.log b/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_receiver.log
new file mode 100644
index 0000000000000000000000000000000000000000..0b3a78504cca95d8d6305686f4d83fba825294c0
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_receiver.log
@@ -0,0 +1,20 @@
+[DEBUG] Receiver has following arguments: stats_filename is tests_logs/advanced_tests/long_message/with_FEC/long_message_receiver_stats.csv, listen_ip is ::1, listen_port is 65092
+[DEBUG] Successfully bound to IPv6 address : 0000:0000:0000:0000:0000:0000:0000:0001, port : 65092
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65105
+[DEBUG] Received a damaged packet with 4 status. and seqnum as 0
+[DEBUG] Received data packet seqnum 0 with timestamp 0 | current_window_size : 31, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 1, timestamp 0
+[DEBUG] Received data packet seqnum 1 with timestamp 0 | current_window_size : 30, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 2, timestamp 0
+[DEBUG] Received data packet seqnum 2 with timestamp 984824098 | current_window_size : 29, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 3, timestamp 0
+[DEBUG] Received data packet seqnum 3 with timestamp 0 | current_window_size : 28, current_window_start : 0
+[DEBUG] Going to consume the next 4 packets.
+[DEBUG] Consuming packet : 0 | curr_recv_window = 27, recv_window_start = 0
+[DEBUG] Consuming packet : 1 | curr_recv_window = 28, recv_window_start = 1
+[DEBUG] Consuming packet : 2 | curr_recv_window = 29, recv_window_start = 2
+[DEBUG] Consuming packet : 3 | curr_recv_window = 30, recv_window_start = 3
+[DEBUG] Received the last packet
+[DEBUG] Sent ACK saying we are waiting for 4, timestamp 0
+[DEBUG] Done the transfer with done status being true
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/long_message/with_FEC/long_message_receiver_stats.csv.
diff --git a/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_sender.log b/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_sender.log
new file mode 100644
index 0000000000000000000000000000000000000000..4719730cb1a60e7da2c500bf8195eb902523a996
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/with_FEC/adv_long_message_sender.log
@@ -0,0 +1,40 @@
+[DEBUG] Sender has following arguments: 
+		filename is tests_files/long_message.txt,
+		stats_filename is tests_logs/advanced_tests/long_message/with_FEC/long_message_sender_stats.csv,
+		fec_enabled is 1,
+		receiver_ip is ::1,
+		receiver_port is 65105
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65105
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 1
+[DEBUG] Sending the pkt with seqnum: 0
+[DEBUG] The pkt with seqnum: 0 has timeout
+[DEBUG] Sending the pkt with seqnum: 0
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 1 has been received
+[DEBUG] The sender is cumulatively acknowledging [0 : 1[ (place in the buffer) | [0, 1[ (seqnum)
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 30
+[DEBUG] Sending the pkt with seqnum: 1
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 30 | receiver window size: 29
+[DEBUG] The LAST PTYPE_DATA is being sent !
+[DEBUG] Sending the pkt with seqnum: 2
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 2 has been received
+[DEBUG] The sender is cumulatively acknowledging [1 : 2[ (place in the buffer) | [1, 2[ (seqnum)
+[DEBUG] Sending the pkt with seqnum: 2
+[DEBUG] The pkt with seqnum: 2 has timeout
+[DEBUG] Sending the pkt with seqnum: 2
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 3 has been received
+[DEBUG] The sender is cumulatively acknowledging [2 : 3[ (place in the buffer) | [2, 3[ (seqnum)
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 28
+[DEBUG] The CLOSING pkt is being sent !
+[DEBUG] Sending the pkt with seqnum: 3
+[DEBUG] A timer of -> 30000ms <- has started after sending the last PTYPE_DATA pkt !
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 30 | receiver window size: 27
+[DEBUG] Sending LAST FEC pkt with seqnum: 0
+[DEBUG] A timer of -> 30000ms <- has started after sending the last PTYPE_DATA pkt !
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 4 has been received
+[DEBUG] The sender is cumulatively acknowledging [3 : 4[ (place in the buffer) | [3, 4[ (seqnum)
+[DEBUG] Sender disconnected
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/long_message/with_FEC/long_message_sender_stats.csv.
diff --git a/tests_logs/advanced_tests/long_message/with_FEC/adv_valgrind_long_message_receiver.log b/tests_logs/advanced_tests/long_message/with_FEC/adv_valgrind_long_message_receiver.log
new file mode 100644
index 0000000000000000000000000000000000000000..890f2c57a583818b8d27647130bce6f9e9406f85
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/with_FEC/adv_valgrind_long_message_receiver.log
@@ -0,0 +1,15 @@
+==9075== Memcheck, a memory error detector
+==9075== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==9075== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==9075== Command: ./receiver ::1 65092 -s tests_logs/advanced_tests/long_message/with_FEC/long_message_receiver_stats.csv
+==9075== Parent PID: 9045
+==9075== 
+==9075== 
+==9075== HEAP SUMMARY:
+==9075==     in use at exit: 0 bytes in 0 blocks
+==9075==   total heap usage: 20 allocs, 20 frees, 13,522 bytes allocated
+==9075== 
+==9075== All heap blocks were freed -- no leaks are possible
+==9075== 
+==9075== For lists of detected and suppressed errors, rerun with: -s
+==9075== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/long_message/with_FEC/adv_valgrind_long_message_sender.log b/tests_logs/advanced_tests/long_message/with_FEC/adv_valgrind_long_message_sender.log
new file mode 100644
index 0000000000000000000000000000000000000000..84a636291f3b83a6e729fe851ed421838326a723
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/with_FEC/adv_valgrind_long_message_sender.log
@@ -0,0 +1,15 @@
+==9076== Memcheck, a memory error detector
+==9076== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==9076== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==9076== Command: ./sender -f tests_files/long_message.txt ::1 65105 -c -s tests_logs/advanced_tests/long_message/with_FEC/long_message_sender_stats.csv
+==9076== Parent PID: 9045
+==9076== 
+==9076== 
+==9076== HEAP SUMMARY:
+==9076==     in use at exit: 0 bytes in 0 blocks
+==9076==   total heap usage: 14 allocs, 14 frees, 6,504 bytes allocated
+==9076== 
+==9076== All heap blocks were freed -- no leaks are possible
+==9076== 
+==9076== For lists of detected and suppressed errors, rerun with: -s
+==9076== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/long_message/with_FEC/long_message_receiver_stats.csv b/tests_logs/advanced_tests/long_message/with_FEC/long_message_receiver_stats.csv
new file mode 100644
index 0000000000000000000000000000000000000000..dbddf04ab2188a15cc6501720aad536510cf78c2
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/with_FEC/long_message_receiver_stats.csv
@@ -0,0 +1,11 @@
+data_sent:0
+data_received:4
+data_truncated_received:0
+fec_sent:0
+fec_received:0
+ack_sent:4
+ack_received:0
+nack_received:0
+packet_ignored:1
+packet_duplicated:0
+packet_recovered:0
diff --git a/tests_logs/advanced_tests/long_message/with_FEC/long_message_sender_stats.csv b/tests_logs/advanced_tests/long_message/with_FEC/long_message_sender_stats.csv
new file mode 100644
index 0000000000000000000000000000000000000000..eb232ba599a839c4b8861aef965a2ce62b14bee1
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/with_FEC/long_message_sender_stats.csv
@@ -0,0 +1,12 @@
+data_sent:7
+data_received:0
+data_truncated_received:0
+fec_sent:1
+fec_received:0
+ack_sent:0
+ack_received:4
+nack_received:0
+packet_ignored:0
+min_rtt:1
+max_rtt:2016
+packet_retransmitted:3
diff --git a/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_link.log b/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_link.log
new file mode 100644
index 0000000000000000000000000000000000000000..3eaf6a5c7ad9603b562655baca00394f6f7af3c5
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_link.log
@@ -0,0 +1,21 @@
+@@ Using random seed: 1650895887
+@@ Using parameters:
+.. port: 65169
+.. forward_port: 65108
+.. delay: 0
+.. jitter: 0
+.. err_rate: 20
+.. cut_rate: 30
+.. loss_rate: 25
+.. seed: 1650895887
+.. link_direction: Forward
+@@ Remote host is ::1 [45124]
+[SEQ   0] Sent packet (Forward).
+[SEQ   1] Sent packet (Reverse).
+[SEQ   1] Sent packet (Forward).
+[SEQ   2] Sent packet (Reverse).
+[SEQ   2] Sent packet (Forward).
+[SEQ   2] Dropping packet
+[SEQ   3] Sent packet (Reverse).
+[SEQ   3] Sent packet (Forward).
+[SEQ   4] Sent packet (Reverse).
diff --git a/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_received_file.txt b/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_received_file.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a18b03ec08fdc53c1f0a5e0fc9187b5a0f18568f
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_received_file.txt
@@ -0,0 +1,29 @@
+Hello I'm a good friend, I've seen that you are writing a protocol named TRTP. 
+How is it going ? Hard ? Good for you. See life is full of hard things just like your 
+network course. But when you manage to thrive throgh tough times then sweet things are 
+ahead. So good luck have a nice day of testing and remember : Tough Times Never Last.
+
+PS: Drink a beer when you pass the test. Share your knowledge to others, computer 
+science isn't a field for selfishness. If you want to switch to Law, Economy, some shit
+
+Hi Vany I'm pleased to read some news from you. As you know I work sometime a bit late in the night.
+In a few hour you'll show up in the famous "Salle Intel" to be really productive as you are.
+
+Best regards,
+
+Samuel
+
+Sorry to be lazy but I'll past down what is above :')
+
+Hello I'm a good friend, I've seen that you are writing a protocol named TRTP. 
+How is it going ? Hard ? Good for you. See life is full of hard things just like your 
+network course. But when you manage to thrive throgh tough times then sweet things are 
+ahead. So good luck have a nice day of testing and remember : Tough Times Never Last.
+
+PS: Drink a beer when you pass the test. Share your knowledge to others, computer 
+science isn't a field for selfishness. If you want to switch to Law, Economy, some shit
+
+Hi Vany I'm pleased to read some news from you. As you know I work sometime a bit late in the night.
+In a few hour you'll show up in the famous "Salle Intel" to be really productive as you are.
+
+Best regards,
diff --git a/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_receiver.log b/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_receiver.log
new file mode 100644
index 0000000000000000000000000000000000000000..ccd57d1ffb6f5ed2378fa1ee6008da4a6dab83cb
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_receiver.log
@@ -0,0 +1,19 @@
+[DEBUG] Receiver has following arguments: stats_filename is tests_logs/advanced_tests/long_message/without_FEC/long_message_receiver_stats.csv, listen_ip is ::1, listen_port is 65108
+[DEBUG] Successfully bound to IPv6 address : 0000:0000:0000:0000:0000:0000:0000:0001, port : 65108
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65169
+[DEBUG] Received data packet seqnum 0 with timestamp 0 | current_window_size : 31, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 1, timestamp 0
+[DEBUG] Received data packet seqnum 1 with timestamp 0 | current_window_size : 30, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 2, timestamp 0
+[DEBUG] Received data packet seqnum 2 with timestamp 984824098 | current_window_size : 29, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 3, timestamp 0
+[DEBUG] Received data packet seqnum 3 with timestamp 0 | current_window_size : 28, current_window_start : 0
+[DEBUG] Going to consume the next 4 packets.
+[DEBUG] Consuming packet : 0 | curr_recv_window = 27, recv_window_start = 0
+[DEBUG] Consuming packet : 1 | curr_recv_window = 28, recv_window_start = 1
+[DEBUG] Consuming packet : 2 | curr_recv_window = 29, recv_window_start = 2
+[DEBUG] Consuming packet : 3 | curr_recv_window = 30, recv_window_start = 3
+[DEBUG] Received the last packet
+[DEBUG] Sent ACK saying we are waiting for 4, timestamp 0
+[DEBUG] Done the transfer with done status being true
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/long_message/without_FEC/long_message_receiver_stats.csv.
diff --git a/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_sender.log b/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_sender.log
new file mode 100644
index 0000000000000000000000000000000000000000..667a8669e13a249e674cd7869f9e20d0f33da192
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/without_FEC/adv_long_message_sender.log
@@ -0,0 +1,33 @@
+[DEBUG] Sender has following arguments: 
+		filename is tests_files/long_message.txt,
+		stats_filename is tests_logs/advanced_tests/long_message/without_FEC/long_message_sender_stats.csv,
+		fec_enabled is 0,
+		receiver_ip is ::1,
+		receiver_port is 65169
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65169
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 1
+[DEBUG] Sending the pkt with seqnum: 0
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 1 has been received
+[DEBUG] The sender is cumulatively acknowledging [0 : 1[ (place in the buffer) | [0, 1[ (seqnum)
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 30
+[DEBUG] Sending the pkt with seqnum: 1
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 30 | receiver window size: 29
+[DEBUG] The LAST PTYPE_DATA is being sent !
+[DEBUG] Sending the pkt with seqnum: 2
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 2 has been received
+[DEBUG] The sender is cumulatively acknowledging [1 : 2[ (place in the buffer) | [1, 2[ (seqnum)
+[DEBUG] Sending the pkt with seqnum: 2
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 3 has been received
+[DEBUG] The sender is cumulatively acknowledging [2 : 3[ (place in the buffer) | [2, 3[ (seqnum)
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 28
+[DEBUG] The CLOSING pkt is being sent !
+[DEBUG] Sending the pkt with seqnum: 3
+[DEBUG] A timer of -> 30000ms <- has started after sending the last PTYPE_DATA pkt !
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 4 has been received
+[DEBUG] The sender is cumulatively acknowledging [3 : 4[ (place in the buffer) | [3, 4[ (seqnum)
+[DEBUG] Sender disconnected
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/long_message/without_FEC/long_message_sender_stats.csv.
diff --git a/tests_logs/advanced_tests/long_message/without_FEC/adv_valgrind_long_message_receiver.log b/tests_logs/advanced_tests/long_message/without_FEC/adv_valgrind_long_message_receiver.log
new file mode 100644
index 0000000000000000000000000000000000000000..20de5860d3726da986c12b30008e3a0ebe57d448
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/without_FEC/adv_valgrind_long_message_receiver.log
@@ -0,0 +1,15 @@
+==9127== Memcheck, a memory error detector
+==9127== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==9127== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==9127== Command: ./receiver ::1 65108 -s tests_logs/advanced_tests/long_message/without_FEC/long_message_receiver_stats.csv
+==9127== Parent PID: 9045
+==9127== 
+==9127== 
+==9127== HEAP SUMMARY:
+==9127==     in use at exit: 0 bytes in 0 blocks
+==9127==   total heap usage: 19 allocs, 19 frees, 12,994 bytes allocated
+==9127== 
+==9127== All heap blocks were freed -- no leaks are possible
+==9127== 
+==9127== For lists of detected and suppressed errors, rerun with: -s
+==9127== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/long_message/without_FEC/adv_valgrind_long_message_sender.log b/tests_logs/advanced_tests/long_message/without_FEC/adv_valgrind_long_message_sender.log
new file mode 100644
index 0000000000000000000000000000000000000000..239acc3537019dc2146510de20b4e03144857e13
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/without_FEC/adv_valgrind_long_message_sender.log
@@ -0,0 +1,15 @@
+==9128== Memcheck, a memory error detector
+==9128== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==9128== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==9128== Command: ./sender -f tests_files/long_message.txt ::1 65169 -s tests_logs/advanced_tests/long_message/without_FEC/long_message_sender_stats.csv
+==9128== Parent PID: 9045
+==9128== 
+==9128== 
+==9128== HEAP SUMMARY:
+==9128==     in use at exit: 0 bytes in 0 blocks
+==9128==   total heap usage: 13 allocs, 13 frees, 5,976 bytes allocated
+==9128== 
+==9128== All heap blocks were freed -- no leaks are possible
+==9128== 
+==9128== For lists of detected and suppressed errors, rerun with: -s
+==9128== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/long_message/without_FEC/long_message_receiver_stats.csv b/tests_logs/advanced_tests/long_message/without_FEC/long_message_receiver_stats.csv
new file mode 100644
index 0000000000000000000000000000000000000000..224485b9268d1426e6ef7f2e5f1c6d4bec8787bf
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/without_FEC/long_message_receiver_stats.csv
@@ -0,0 +1,11 @@
+data_sent:0
+data_received:4
+data_truncated_received:0
+fec_sent:0
+fec_received:0
+ack_sent:4
+ack_received:0
+nack_received:0
+packet_ignored:0
+packet_duplicated:0
+packet_recovered:0
diff --git a/tests_logs/advanced_tests/long_message/without_FEC/long_message_sender_stats.csv b/tests_logs/advanced_tests/long_message/without_FEC/long_message_sender_stats.csv
new file mode 100644
index 0000000000000000000000000000000000000000..7996ec102a0bfd6e9c48eae07bdcb8bf2893bf76
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/without_FEC/long_message_sender_stats.csv
@@ -0,0 +1,12 @@
+data_sent:5
+data_received:0
+data_truncated_received:0
+fec_sent:0
+fec_received:0
+ack_sent:0
+ack_received:4
+nack_received:0
+packet_ignored:0
+min_rtt:1
+max_rtt:16
+packet_retransmitted:1