FIUBA
Material recolectado a lo largo de mi cursada en FIUBA aqui.
Contact me
in/bruno-grassano
TP 1 de Introducción a los Sistemas Distribuidos - FIUBA - 2C 2022
License: MIT License
Material recolectado a lo largo de mi cursada en FIUBA aqui.
Contact me
in/bruno-grassano
El código ya esta esta implementado. Hay que terminar de probarlo, el interprete estaba tirando unos problemas antes de llegar a ejecutarlo.
Se deben de parsear los argumentos de los diferentes programas
Se puede usar https://docs.python.org/3/library/argparse.html
Este sistema de logging debe de ser el utilizado por las aplicaciones teniendo en cuenta el nivel de verbosity que se ingreso por consola.
Usar un Singleton para no estar pasando la instancia por todos lados. Tener en cuenta la concurrencia, usar locks
Que tenga de metodos debug, info, error, van a loggear dependiendo del nivel indicado al iniciar la aplicacion
Si despues de X intentos no se obtiene respuesta se debe de lanzar una excepcion. Se debe de atrapar y terminar el flujo correctamente
Algunos lugares en donde se debe de lanzar
La excepcion ya esta creada, esta en BaseProtocol
La logica del download siguiendo el formato e interfaces que se definieron.
Esta logica debe de estar en download_file y DownloadClientThread
Consiste en hacer el loop con lectura/escritura con FileManager, envios, llamadas de cierre
Se puede usar como guia la logica del upload
Debe cumplir con la interfaz send(data) y read(size) : data
cada implantación maneja ACK, SQN, Timeout, creación headers y segmentos
La idea es armar un Dockerfile y docker-compose para poder correr el tp
Idea para el Dockerfile y docker-compose
FROM ubuntu:focal
COPY . /tp1
WORKDIR /tp1
RUN apt update -y
RUN apt-get install python3.8 -y
EXPOSE 12000
CMD ["bash"]
version: '3'
services:
cliente1:
build: .
container_name: cliente1
stdin_open: true
tty: true
networks:
- red-tp
servidor:
build: .
container_name: servidor
stdin_open: true
tty: true
networks:
- red-tp
comcast:
build: .
container_name: comcast
stdin_open: true
tty: true
networks:
- red-tp
networks:
red-tp:
debe implementar la interfaz send(data) y read(data)
Definir como vamos a realizar el protocolo
Mientras que el cliente esta queriendo hacer el handshake va a mandar la solicitud al socket del server, el servidor debe de darse cuenta que este cliente ya tiene un thread y no crear uno nuevo.
Se puede usar algun mapa que tenga el registro
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.