From d5a03758d2679824206c7ce779a1d8c7cef61a4d Mon Sep 17 00:00:00 2001 From: sdemeesterde <samuel.demeester@student.uclouvain.be> Date: Mon, 21 Mar 2022 01:00:02 +0100 Subject: [PATCH] not so bad sender --- headers/sender_utils.h | 2 +- log.txt | Bin 3683 -> 8169 bytes src/sender.c | 2 +- src/sender_utils.c | 9 +++++++-- test_files/long_message.txt | 9 ++++++++- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/headers/sender_utils.h b/headers/sender_utils.h index e6b3359..13508cc 100644 --- a/headers/sender_utils.h +++ b/headers/sender_utils.h @@ -42,7 +42,7 @@ int handle_returning_ack_nack(sender_state_t *state, int socket_fd); int loop_over_timers(sender_state_t *state, int socket_fd); -int read_and_send(); +int read_and_send(sender_state_t *state, int sending_fd, int socket_fd); #endif \ No newline at end of file diff --git a/log.txt b/log.txt index c46e8c3e7e45a68de72ac17adf3281936e3f1060..e595e4d22b0f578cbb4b7238198157c9e8368071 100644 GIT binary patch delta 1443 zcmZ{kzi!h|6vl}dz^Ni6#DZw0PnDocsjeO8+GYSz35iY}idYa5j{me#lekJ;N+(aO z2nag^FMz}&urcxqoe(?(-#Ir)TO^XyxxQ|G=R4my=bo+pdi3>4s~v`kwRc{aQTzR^ zS=M^!<*7;I)b!2lPv`cx@2#_y51ng#vVJ%4WAsn!Vv2H7jc`;A#&t1)c@vf8rC&9E zVialkdI0ot7=tW@@ny061QvdPAcvp9@M(%LhE3qT#1;HNi&yu)hnu*MRkZnjiUHcj z_yP_LdKT7)Ef6Jg8_KnT&0tGJeAbiQD3AsJ&jX$##TcgmcKA0$h1V#!n(&$mIS{f9 zMF_Dr5`eYJC}DHu@e%Q47jhdCoKw~q`vjF}CZvwIJmvQ>wzzsM<gSpT?qveueGNpQ z#*!4GMW6`YbO{0u8Kc4pcXqI$Ax;Dws$>F~Ct=M6<qSuuluZL7mz1t4+pC!L;ZpZh zMHi^KGg3=P?kU+<4+u|$A%4(bUwP`Uvx@r?Ax7h+RM;n{=J$}c*2)uy!1aM>wn}zC zr_Geiq+{h5+6tP4#B$NKmY!5<Oz=J-HJxqK2!Tq#l0gWLOd~eCy0M?MP;^G*E$hZu zOd(t3)q^Ld9%#KLT)E0^Q2da0eMgQ(vM5?ebLq;C>q0s!(VBUYg8;p*^xS#kqB5nu z(ic+Lb?k}eWNxz)<(ig#AZ<-Y*}7EfGT?1FS522io>(F#h{r<$fu<&3RFj;Z+q|3t z7sU-s<fely5=ukcu0&Lu-9ShL8I~jVN`;)VGe#n~uV6OBV#uT+TyIPNsq3zKE-puf z1MUsx<Cbdr&Soi}M3ZuooC#SD1D#qjsYr_FhM1LOAg-yG;T9){*TyyxQ;Nf`()N{_ zb8Ax%4w7>rvm_*NA|ze4HV=??VY={hczar(V>R<9zThg>X4{?hmOm>xTfBbi>|S@L wU69RwcQ*ey)2u<lN@a-IQ=c!KVXyF!Lf+zk=j^+c8_x!#B1d&xZ|Ujz7gd-ylK=n! delta 127 zcmaE9|5#>&D<hY&g@L)TbhJS(*94KtYk8F>^NGlCrkbaknI$Es8BDGfmYmGXC$Kq2 zq>g*?BO&3*DZEaT&4q0_AWDELYJ_$43=|BIkZFoSnvsHmse-Yo0_S`M1~`mW_@uz9 KU^@A<yc___S|CCI diff --git a/src/sender.c b/src/sender.c index d8751fd..593e541 100644 --- a/src/sender.c +++ b/src/sender.c @@ -139,7 +139,7 @@ int main(int argc, char **argv) { } else if ( !(sending_file_read_done) && (pfd->revents & POLLOUT) ) { - DEBUG("The sender will send a pkt on the socket"); + DEBUG("The sender will send a pkt on the socket, the current window size is: %d", state->s_window_size); sending_file_read_done = read_and_send(state, sending_fd, socket_fd); if (sending_file_read_done == -1) { diff --git a/src/sender_utils.c b/src/sender_utils.c index e30695c..69673a2 100644 --- a/src/sender_utils.c +++ b/src/sender_utils.c @@ -120,7 +120,12 @@ int read_and_send(sender_state_t *state, int sending_fd, int socket_fd) char packet_to_be_sent[PKT_MAX_LEN]; size_t len = PKT_MAX_LEN; - if (pkt_encode(pkt, packet_to_be_sent, &len) != PKT_OK) return -1; + pkt_status_code pkt_status = pkt_encode(pkt, packet_to_be_sent, &len); + if (pkt_status != PKT_OK) + { + DEBUG("pkt_encode for a PTYPE_DATA failed with status: %d", pkt_status); + return -1; + } ssize_t sent = send(socket_fd, packet_to_be_sent, len, 0); if (sent == -1) return -1; @@ -140,6 +145,6 @@ int read_and_send(sender_state_t *state, int sending_fd, int socket_fd) off_t old_position = lseek(sending_fd, 0, SEEK_CUR); off_t end_position = lseek(sending_fd, 0, SEEK_END); // put back the reader cursor - lseek(sending_fd, 0, SEEK_SET); + lseek(sending_fd, old_position, SEEK_SET); return old_position == end_position; } diff --git a/test_files/long_message.txt b/test_files/long_message.txt index 2f8c6c6..f531738 100644 --- a/test_files/long_message.txt +++ b/test_files/long_message.txt @@ -4,4 +4,11 @@ network course. But when you manage to thrive throgh tough times then sweet thin 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 \ No newline at end of file +science isn't a field for selfishness. If you want to switch to Law, Economy, some shit + +Hi Vany I love reading from you. As you know I'm working sometime a bit late in the night. +In a few hour you'll be in th famous "Salle Intel" to be really productive as you are. + +Best regards, + +Samuel \ No newline at end of file -- GitLab