diff --git a/.gitignore b/.gitignore index 17b0558aac7c248f6d836d7d3d17979d7a703526..4e34a9ccdac264934d485b693ff439d574f8c906 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ rapport.html -rapport.pdf Projet_RLI_21.pdf *.o -code \ No newline at end of file +code +unreliable_medium/*.o \ No newline at end of file diff --git a/rapport.md b/rapport.md index ab9c471ba01200f21ae3bb96ac74600eee026490..2958fc94db5bcc2c225c3ead31d8ec1af9cbfa6c 100644 --- a/rapport.md +++ b/rapport.md @@ -33,7 +33,7 @@ $$H = \begin{bmatrix}1 & 1 & 0 & 0 & 1 & 0 & 0 & 0\\ 2. *Au vu de la distance de Hamming de C, quelles sont ses capacités de correction et de détection d’erreur(s) ?* -Pour un Hamming code de distance d, on peut détecter $d-1$ erreurs et corriger $\frac{d-1}{2}$ erreurs. Pour le code C on peut donc détecter 3 erreurs et en corriger une. +Pour un Hamming code de distance d, on peut détecter $d-1$ erreurs et corriger $\frac{d-1}{2}$ erreurs. Pour le code C on peut donc détecter 2 erreurs et en corriger une. ## III - ...se cachent des polynômes générateurs équivalents. diff --git a/rapport.pdf b/rapport.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c240246352c93077c3c4593b696f38e038138497 Binary files /dev/null and b/rapport.pdf differ diff --git a/unreliable_medium/medium b/unreliable_medium/medium deleted file mode 100755 index ef825a98cc094357d06551c18425aaa127927acb..0000000000000000000000000000000000000000 Binary files a/unreliable_medium/medium and /dev/null differ diff --git a/unreliable_medium/receiver b/unreliable_medium/receiver deleted file mode 100755 index 8c12cd7acdb5fad92c66714040e3a04e9ff2b58e..0000000000000000000000000000000000000000 Binary files a/unreliable_medium/receiver and /dev/null differ diff --git a/unreliable_medium/receiving.c b/unreliable_medium/receiving.c index 4106ad50d52464fbd63f053172b4f9a29f5be2e8..2acfdd91eed56a32f2eeb02615bd554a70505342 100644 --- a/unreliable_medium/receiving.c +++ b/unreliable_medium/receiving.c @@ -27,8 +27,12 @@ #include "sockettoolbox.h" char *error_correction(char *codeword); +int index_first1(char *msg); +void division_bin(char *msg, int base_index); +char *polynomial_decode(char *codeword); +int error_index(char *syndrome, int base_index); -/** + /** * Receive code words through a UNIX socket. * * From the code words, retrieve the original data flow. @@ -38,7 +42,7 @@ char *error_correction(char *codeword); * * @return -1 in case of error, the size (in bytes) of data flow otherwise */ -static int receiveMessage(int desc, char *message) + static int receiveMessage(int desc, char *message) { static int stop = 0; int cw_size = 0; @@ -229,7 +233,8 @@ char *polynomial_decode(char *codeword) return decoded; } -int error_index(char* syndrome, int base_index) { +int error_index(char* syndrome, int base_index) +{ char syn[5]; int i; for (i = 0; i < 4; i++) { diff --git a/unreliable_medium/sender b/unreliable_medium/sender deleted file mode 100755 index 6c52c3010f1f38cc68f678136acddaec1bb18257..0000000000000000000000000000000000000000 Binary files a/unreliable_medium/sender and /dev/null differ diff --git a/unreliable_medium/sending.c b/unreliable_medium/sending.c index e0aafa65f00571b4476372ba2befb33a6445f0f6..70596074200e56e0c02bc192ae7f3b3c4a6326ce 100644 --- a/unreliable_medium/sending.c +++ b/unreliable_medium/sending.c @@ -27,9 +27,11 @@ #include <errno.h> #include <stdlib.h> +int index_first1(char *msg); char *polynomial_encode(char *msg); +void division_bin(char *msg, int base_index); -/** + /** * Send code words through a UNIX socket. * * From the original data flow generates code words and sends them. @@ -41,13 +43,14 @@ char *polynomial_encode(char *msg); * * @return nothing (coding and sending message) */ -static void sendMessage(int desc, - char *message, - int size, - struct sockaddr_un remote_addr) + static void sendMessage(int desc, + char *message, + int size, + struct sockaddr_un remote_addr) { int ok = 0; int res = 0; + size = 0; // char cw[MAX_MSG_CODE]; // memset(cw, '\0', MAX_MSG_CODE*sizeof(char));