diff --git a/headers/client.h b/headers/client.h index b87b70e6513d3ba1f48449f4c88c824da3827ed0..09b4074e96bd05b93e031fd37b505c5a0bd559f1 100644 --- a/headers/client.h +++ b/headers/client.h @@ -80,10 +80,10 @@ frame *client::receive_ack_nack() { if (!(response = socket->receive_frame())) { continue; } } while (response == NULL && retries < NUM_RETRIES); - // if (response && response->get_tipo() == ERRO) { - // cout << BOLDYELLOW << "Espaco insulficiente no destino\n" << RESET; - // return NULL; - // } + if (response && response->get_tipo() == ERRO) { + cout << BOLDYELLOW << "Espaco insulficiente no destino\n" << RESET; + return NULL; + } } while (response && !(verify_ack_nack(response))); return response; @@ -99,15 +99,15 @@ frame *client::send_frame_socket(frame *f) { if (!response) return NULL; } while (response->get_dado()[0] != f->get_seq()); - // cout << "\tACK recebido:\n"; // ->log - // response->imprime(DEC); // ->log + cout << "\tACK recebido:\n"; // ->log + response->imprime(DEC); // ->log return response; } // Inicia a transmissao com o servidor int client::start_transmission() { - // cout<< YELLOW << "\tIniciando transmissao\n" << RESET; ->log + cout<< YELLOW << "\tIniciando transmissao\n" << RESET; ->log frame *ini = new frame(INIT, 0, vector<char>(1, 0)); frame *enviado = new frame(); enviado = send_frame_socket(ini); @@ -117,21 +117,21 @@ int client::start_transmission() { enviado = send_frame_socket(ini); } if (!enviado) { - // cout<< BOLDRED << "\tFalha ao iniciar a transmissao\n" << RESET; ->log + cout<< BOLDRED << "\tFalha ao iniciar a transmissao\n" << RESET; ->log return 0; } - // cout<< GREEN << "\tTransmissao iniciada com sucesso\n" << RESET; ->log + cout<< GREEN << "\tTransmissao iniciada com sucesso\n" << RESET; ->log return 1; } // Encerra a transmissao com o servidor int client::end_transmission() { - // cout << "\tEncerrando a transmissao\n"; // ->log + cout << "\tEncerrando a transmissao\n"; // ->log frame *end = new frame(FIMT, 0, vector<char>(1, 0)); frame *enviado = send_frame_socket(end); if (!enviado) { - // cout << "\tFalha ao encerrar a transmissao\n"; // ->log + cout << "\tFalha ao encerrar a transmissao\n"; // ->log return 0; } @@ -149,9 +149,9 @@ int client::send_frames(vector<frame *> frames) { if (frames.empty()) { return 0; } - // cout << "\tstart transmission\n"; ->log + cout << "\tstart transmission\n"; ->log if (!start_transmission()) { return 0; } - // cout << "\t ->>> started transmission <<< -\n"; ->log + cout << "\t ->>> started transmission <<< -\n"; ->log // Adiciona o frame de fim de transmissao int next_seq = frames.back()->get_seq() + 1; @@ -169,20 +169,20 @@ int client::send_frames(vector<frame *> frames) { if (iniJanela + frameCounter == frames.size()) { break; } janela.push((iniJanela + frameCounter) % 16); - // cout << "\tEnviando frame: " << iniJanela + frameCounter << "\n"; + cout << "\tEnviando frame: " << iniJanela + frameCounter << "\n"; // frames[iniJanela + frameCounter]->imprime(DEC); if (socket->send_frame(frames[iniJanela + frameCounter]) == -1) { - // cout << "Falha ao enviar o frame\n"; ->log + cout << "Falha ao enviar o frame\n"; ->log continue; } - // cout << "\tFrame enviado com sucesso\n"; ->log + cout << "\tFrame enviado com sucesso\n"; ->log } // Recebe a resposta do servidor while (!janela.empty()) { - // cout << "Janela size: " << janela.size() << "\n"; + cout << "Janela size: " << janela.size() << "\n"; frame *res = NULL; int retries = 0; @@ -192,16 +192,16 @@ int client::send_frames(vector<frame *> frames) { } while (res == NULL && retries < NUM_RETRIES); if (res == NULL && retries == NUM_RETRIES) { - // cout << "Numero maximo de tentativas excedido\n"; ->log + cout << "Numero maximo de tentativas excedido\n"; ->log break; } - // cout << "Resposta recebida\n"; - // cout << "Numero ack/nack: " << (int)res->get_dado()[0] << " ---- " - // << "Janela front: " << janela.front() << "\n"; + cout << "Resposta recebida\n"; + cout << "Numero ack/nack: " << (int)res->get_dado()[0] << " ---- " + << "Janela front: " << janela.front() << "\n"; if (res->get_tipo() == NACK && res->get_dado()[0] == janela.front()) { - // cout << "NACK " << (int)res->get_dado()[0] << " recebido\n"; ->log + cout << "NACK " << (int)res->get_dado()[0] << " recebido\n"; ->log iniJanela += res->get_dado()[0]; janela.pop(); break; @@ -216,18 +216,18 @@ int client::send_frames(vector<frame *> frames) { } if (res->get_tipo() == ACK && res->get_dado()[0] == janela.front()) { - // cout << "ACK " << (int)res->get_dado()[0] << " recebido\n"; + cout << "ACK " << (int)res->get_dado()[0] << " recebido\n"; iniJanela++; janela.pop(); } } // apaga a janela - // while (!janela.empty()) - // janela.pop(); + while (!janela.empty()) + janela.pop(); } - // cout << "\tTerminou de enviar todos os frames\n"; //->log + cout << "\tTerminou de enviar todos os frames\n"; //->log return 1; } @@ -242,7 +242,7 @@ int client::send_frames(vector<frame *> frames) { */ bool client::verify_ack_nack(frame *received) { // received error frame - // cout << "Verificando ACK/NACK/Error\n"; ->log + cout << "Verificando ACK/NACK/Error\n"; ->log return ((received->get_tipo() == ACK || received->get_tipo() == NACK || received->get_tipo() == ERRO) && diff --git a/headers/conexao.h b/headers/conexao.h index 475c090b0ab9520c238f18271b3ad5b52946db35..acb23327a93fa870c17aea774cacdffab5751a6b 100644 --- a/headers/conexao.h +++ b/headers/conexao.h @@ -140,7 +140,7 @@ int conexao::add_escapes(char *f, char *out) { for (size_t i = 0; i < sizeof(frame); i++) { out[j++] = f[i]; - if (f[i] == 0x88 || f[i] == 0x81) out[j++] = 0xFF; + if (f[i] == (char)0x88 || f[i] == (char)0x81) out[j++] = 0xFF; } @@ -152,7 +152,7 @@ int conexao::remove_escapes(char *f, char *out) { for (size_t i = 0; j < sizeof(frame); i++) { out[j++] = f[i]; - if (f[i] == 0x88 || f[i] == 0x81) i++; + if (f[i] == (char)0x88 || f[i] == (char)0x81) i++; } return j; diff --git a/received/caco.png b/received/caco.png new file mode 100644 index 0000000000000000000000000000000000000000..f14dee02219b0484c57902f41da6f953ce9de4fa Binary files /dev/null and b/received/caco.png differ