From db1214239d141257fe9d9eeb79e6944814eafaa5 Mon Sep 17 00:00:00 2001
From: Eduardo Mathias <emsouza@inf.ufpr.br>
Date: Wed, 6 Nov 2024 11:35:16 -0300
Subject: [PATCH] =?UTF-8?q?[FIX]=20Caso=20que=20a=20chave=20=C3=A9=20maior?=
 =?UTF-8?q?=20que=20o=20maior=20nodo?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 mydht     | Bin 0 -> 20912 bytes
 t2.c      |  43 ++++++++++++++++++++++++++++++++-----------
 teste1.in |   5 +++--
 3 files changed, 35 insertions(+), 13 deletions(-)
 create mode 100644 mydht

diff --git a/mydht b/mydht
new file mode 100644
index 0000000000000000000000000000000000000000..6821cb787da2a6a7379ef09fa6d087f00280e3cf
GIT binary patch
literal 20912
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

literal 0
HcmV?d00001

diff --git a/t2.c b/t2.c
index 89c079e..d51c59a 100644
--- a/t2.c
+++ b/t2.c
@@ -16,15 +16,28 @@ typedef struct Node {
     struct Node* prev;
 } Node;
 
+
+int atualiza_max_id(Node *dht){
+    Node *current = dht;
+    int max_id = 0;
+    do {
+        if(current->id > max_id){
+            max_id = current->id;
+        }
+        current = current->next;
+    } while (current != dht);
+    return max_id;
+}
+
 void redistribute_keys(Node *dht, Node* new_node) {
     Node *start = dht;
     do {
         Node* current = new_node;
-        // printf("Start:%d Next:%d\n", start->id, current->id);
-        // printf("Start->key_count:%d\n", start->key_count);
+        printf("Start:%d Next:%d\n", start->id, current->id);
+        printf("Start->key_count:%d\n", start->key_count);
         //O novo nodo deve ter as chaves EXISTENTES que são maiores que o antecessor e menores ou iguais a ele
         for (int i = 0; i < start->key_count; i++) {
-            // printf("Start->keys[%d]:%d\n", i, start->keys[i]);
+            printf("Start->keys[%d]:%d\n", i, start->keys[i]);
             if (start->keys[i] > start->id && start->keys[i] <= current->id) {
                 current->keys[current->key_count++] = start->keys[i];
                 start->keys[i] = 0;
@@ -161,14 +174,14 @@ Node* remove_node(Node* head, int id) {
 // Função para calcular a tabela finger
 void calculate_finger_table(Node* head, int max_id) {
     Node* current = head;
-    // printf("Max_id:%d\n", max_id);
+    printf("Max_id:%d\n", max_id);
     int log2_max_id = ceil(log2(max_id));
-    // printf("Log2_max_id:%d\n", log2_max_id);
+    printf("Log2_max_id:%d\n", log2_max_id);
     do {
         for (int k = 1; k <= log2_max_id; k++) {
-            // printf("N:%d", current->id);
+            printf("N:%d", current->id);
             int finger_id = (current->id + (1 << (k-1))) % (1 << log2_max_id);
-            // printf(" Finger_id:%d\n", finger_id);
+            printf(" Finger_id:%d\n", finger_id);
             Node* temp = head;
             //Inserir na tabela_finger o id do nó que é o menor id maior que o id do finger_id, ou seja, o id mais próximo do finger_id
             while(temp->id < finger_id && temp->next != head) {
@@ -215,8 +228,8 @@ void print_finger_table_completa(Node* head, int timestamp) {
 
 
 // Função para realizar lookup de uma chave
-Node ** lookup(Node* head, int timestamp, int node_id, int key, int *num_nodes) {
-    // printf("Lookup\n");
+Node ** lookup(Node* head, int timestamp, int node_id, int key, int *num_nodes, int max_id) {
+    printf("Lookup\n");
     Node* current = head;
     Node** nodes_involved = (Node**)malloc(TAM_MAX_FINGER * sizeof(Node*));
     *num_nodes = 0;
@@ -240,6 +253,7 @@ Node ** lookup(Node* head, int timestamp, int node_id, int key, int *num_nodes)
             }
         }
         printf(",");
+
         //Procura o maior nó conhecido pela finger_table que está acima do valor da chave
         for (int i = 0; i < current->tam_finger; i++) {
             if (current->finger[i] > key) {
@@ -263,6 +277,12 @@ Node ** lookup(Node* head, int timestamp, int node_id, int key, int *num_nodes)
         while(current->id != id_aux){
             current = current->next;
         }
+
+        //Previne caso onde a chave nao esta no maior nodo 
+        if(current->id == max_id && key > current->id){   
+            current = head;
+        }
+        
         nodes_involved[(*num_nodes)++] = current; //Adiciona o nó atual ao array de nós envolvidos
 
         //Previne loops infinitos
@@ -290,7 +310,7 @@ void insert_key(Node* head, int node_id, int key) {
     }
 
     current->keys[current->key_count++] = key;
-    // printf("Chave %d inserida no nó %d\n", key, current->id);
+    printf("Chave %d inserida no nó %d\n", key, current->id);
 }
 
 void imprime_chaves(Node* head) {
@@ -322,11 +342,12 @@ int main() {
             calculate_finger_table(dht, max_id);
         } else if (op == 'S') {
             dht = remove_node(dht, id);
+            max_id = atualiza_max_id(dht);
         } else if (op == 'I') {
             insert_key(dht, id, key);
         } else if (op == 'L') {
             int num_nodes = 0;
-            nodes_involved = lookup(dht, timestamp, id, key, &num_nodes);
+            nodes_involved = lookup(dht, timestamp, id, key, &num_nodes, max_id);
             print_finger_table(nodes_involved, num_nodes, timestamp);
             free(nodes_involved);
         } else if (op == 'P'){
diff --git a/teste1.in b/teste1.in
index ce0be83..0d82383 100644
--- a/teste1.in
+++ b/teste1.in
@@ -8,8 +8,9 @@
 8 L 10 18
 9 E 1 -
 10 E 56 -
-11 I 1 50
+11 I 1 58
 12 S 56 -
 13 E 52 -
 14 E 42 -
-15 L 10 50
\ No newline at end of file
+15 P 1 -
+16 L 28 58
\ No newline at end of file
-- 
GitLab