From 8910e762da1034ec460b822a8c2d848d3bddf3b3 Mon Sep 17 00:00:00 2001
From: Fernando Erd <fce15@inf.ufpr.br>
Date: Wed, 16 Nov 2016 23:55:34 -0200
Subject: [PATCH] relatorio

---
 README.md | 48 +++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 45 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 7b6a47c..c0e0797 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,45 @@
-Para executar:
-    ./Chat.py - inicia sem o token
-    ./Chat.py 1 - inicia com o token
\ No newline at end of file
+Rede de Computadores I - Projeto 2 
+Implementação de uma rede em anel utilizando socket UDP
+
+Alunos: Fernando Claudecir Erd GRR20152936
+	Gabriela Yukari Kimura GRR20151446
+
+Especificação: 
+	
+	- O trabalho foi feito em Python por fornecer CRC pronto
+	- Timeout de X seg;
+	- Utilização de threads:
+		- Aguardo do envio e recebimento de Mensagens de outras máquinas
+		- Registro das mensagens que deseja enviar
+	- O protocolo de transferência de mensagens segue o seguinte formato: 
+	
+	+-------+------+---------+--------+------------+---------+-------------+----------+------------+-----+----------+
+	| Marca | Tipo | Destino | Origem | Prioridade | Tamanho | Inic de Msg | Mensagem | Fim de Msg | CRC | ACK/NACK |
+	+-------+------+---------+--------+------------+---------+-------------+----------+------------+-----+----------+
+
+	- A marca (1 Byte) que marca o início de transmissão e início e fim de uma mensagem é
+	- O protocolo pode ser de dois tipos: 
+		0: Token
+		1: Carrega uma mensagem
+
+	- Cada máquina é denominada por um número. Neste caso, de 1 à 4.
+	- A máquina que inicia com o Token pode ser qualquer uma das quatro máquinas e para identificá-la é vericada a quantidade de argumentos passada ao programa. A execução é realizada da seguinte forma:
+		Para habilitar máquina com Token:
+			$>./Chat.py 1
+		Para habilitar máquina sem Token:
+			$>./Chat.py
+
+	- Iniciado o programa, é necessário identificar sua máquina (1-4) e o determinado IP da máquina que deseja conectar.
+	- Em seguida, a máquina identificada inicia criando o token e, se não houver mensagens a serem enviadas daquela máquina e estourado o TIMEOUT, o token é passado para a máquina vizinha.
+	- Ao mesmo tempo que o token estiver sendo transportado, as máquinas podem requisitar o envio de alguma mensagem:
+		1. É escolhida a máquina de destino (1-4)
+		2. Prioridade da mensagem (1-7)
+		3. Mensagem
+
+	- Ao receber o token, a máquina inicia a contagem de TimeOut, e verifica se está sendo enviada uma mensagem e se é designada a ela (número da máquina é igual ao de destino). Se for, o protocolo é descompactado e ocorre a verificação do CRC. 
+		- Se estiver correto, a mensagem é impressa na tela
+
+	- Dificuldades
+		- As dificuldades encontradas na implementação do trabalho foram o pouco conhecimento na linguagem Python
+		- Fazer o esquema de prioridade de mensagens
+
-- 
GitLab