IIC2233 / Syllabus

149 stars 13 forks source link

Thread para verificar Chunks #692

Open mxmauoc0 opened 4 days ago

mxmauoc0 commented 4 days ago

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

¿Un thread que estoy usando para verificar que los chunks se envien correctamente necesita lock?

Lo que sucede es que dentro de este thread, que se ejecuta cada vez que el servidor manda un archivo, se intenta recibir un mensaje del cliente, pero como hay varios clientes enviando mensajes al mismo tiempo me imagino que es un poco confusa la situación para mi server y quiza necesite un lock, para no recibir mensajes equivocados, por parte del Cliente este, al reconocer que un numero de bloque esta desfasado, reconoce que se dio un evento de corrupción de archivo y solicita de nuevo el chunk correspondiente (esto, a traves de otro thread que espera el chunk correto y se tiene que esperar a que termine para pasar a recibir el siguiente chunk).

Con todo este contexto, creo que se hacen una idea del problema. ¿Es necesario hacer un lock? Si hace falta puedo abrir mi issue en mi propio repositorio para que puedan revisar mi codigo = c

cstappung commented 3 days ago

Hola @mxmauoc0!

Por lo que me comentas no pareciera ser necesario el uso de un lock, dado que los posibles mensajes vienen de cliente disantos y no veo que puedan interferirse entre ellos al usar sockets distintos. Si estoy entendiendo mal tu pregunta házmelo saber para poder ayudarte. Además, si es que estas teniendo algún tipo de problema con esta implementación, puedes preguntarla por aquí.

Saludos y éxito en la tarea!

PD: No es necesario que subas nada a tu repositorio personal, con el cuerpo docente podemos revisar tu código desde tu repositorio del curso.

mxmauoc0 commented 3 days ago

Gracias por la aclaración!! ¿A qué te refieres con disantos?

cstappung commented 3 days ago

Hola, disculpa quise decir distintos. Saludos!