From 1eb29b8c675a105d768eed5f236bc45866d08c48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?JJ=C3=A9r=C3=A9my=20Martinoty?= <jeremy.martinoty@etu.hesge.ch> Date: Wed, 15 Dec 2021 11:25:11 +0100 Subject: [PATCH] Message have a Contenu in place of simple key, add right adress for a content ;) --- server/server.go | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/server/server.go b/server/server.go index d45c479..8209a3a 100644 --- a/server/server.go +++ b/server/server.go @@ -13,7 +13,7 @@ import ( type Message struct { Id uint64 - Key int + Content Contenu Type_ string } @@ -32,7 +32,7 @@ type Contenu struct { var ( thisnode Node port string - //Liste des requetes deja vues/effectués Pourquoi int ? + //Liste des requetes deja vues/effectués requests []uint64 msg_count_uuid uint64 //valeur dont on commencera a compter les id ) @@ -40,20 +40,22 @@ var ( func fillContents() { println(thisnode.MyKey) for _, key := range thisnode.MyKey { - addContent(key, thisnode.Address) + myContent := createContenu(key,thisnode.Address) + addContent(myContent) fmt.Println(key) } for _, neighbour := range thisnode.Neighbours { - for _, content := range neighbour.MyKey { - addContent(content, neighbour.Address) + for _, key := range neighbour.MyKey { + hisContent := createContenu(key,neighbour.Address) + addContent(hisContent) } } } -func createMessage(id uint64, key int, _type string) Message { +func createMessage(id uint64, content Contenu, _type string) Message { return Message{ Id: id, - Key: key, + Content: content, Type_: _type, } } @@ -136,17 +138,18 @@ func handleRequest(msg Message, conn net.Conn) { sender := conn.RemoteAddr().String() requests = append(requests, msg.Id) if !hasAlreadySeen(msg) { - if hasKey(msg.Key) { - sendMessage(createMessage(msg.Id, msg.Key, "POSITIVE"),sender) + if hasKey(msg.Content.Key) { + msg.Content.Origin = thisnode.Address + sendMessage(createMessage(msg.Id, msg.Content, "POSITIVE"),sender) } else { if sendToClosestWhilePositive(msg,sender) == true { - sendMessage(createMessage(msg.Id, msg.Key, "POSITIVE"),sender) + sendMessage(createMessage(msg.Id, msg.Content, "POSITIVE"),sender) } else { - sendMessage(createMessage(msg.Id, msg.Key, "NEGATIVE"),sender) + sendMessage(createMessage(msg.Id, msg.Content, "NEGATIVE"),sender) } } } else { - sendMessage(createMessage(msg.Id, msg.Key, "NEGATIVE"),sender) + sendMessage(createMessage(msg.Id, msg.Content, "NEGATIVE"),sender) } } @@ -155,12 +158,10 @@ func sortContents() { return thisnode.Contents[p].Key < thisnode.Contents[q].Key }) } -func addContent(key int, ownerIp string) { - newcontent := createContenu(key,ownerIp) - thisnode.Contents = append(thisnode.Contents,newcontent) +func addContent(content Contenu) { + thisnode.Contents = append(thisnode.Contents,content) } - func hasKey(key int) bool { for _, element := range thisnode.Contents { if key == element.Key { @@ -170,10 +171,9 @@ func hasKey(key int) bool { return false } - func handleReply(msg Message, src string) bool{ if msg.Type_ == "POSITIVE" { - addContent(msg.Key,src) + addContent(msg.Content) return true } if msg.Type_ == "NEGATIVE" { @@ -227,7 +227,8 @@ func main() { fmt.Println(err) os.Exit(2) } - msg := createMessage(msg_count_uuid, key, "REQUEST") + contentToFind := createContenu(key,"") + msg := createMessage(msg_count_uuid, contentToFind, "REQUEST") has := sendToClosestWhilePositive(msg,thisnode.Address) println(has) -- GitLab