diff --git a/go.mod b/go.mod index 83bdda5247a9da4d6d0e8ca3bdf3405a6548fe84..0b1f55e51191de47e568e0c5d38f21637da04ee7 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,5 @@ module freenet go 1.19 + +require gopkg.in/yaml.v2 v2.4.0 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000000000000000000000000000000000000..dd0bc19f1fe3e536098c0fd769c96042bf9ebc73 --- /dev/null +++ b/go.sum @@ -0,0 +1,4 @@ +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= diff --git a/helper/types.go b/helper/types.go index 1b905cbc111894d5425909f53c24ac7efacf7417..1a44181c979d62a52e29d5a3230f184a3012d8f1 100644 --- a/helper/types.go +++ b/helper/types.go @@ -1,11 +1,8 @@ package helper -import "fmt" - -type NodeWrapper struct { - Resource Resource `yaml:"resource"` - Stora0lwe -} +import ( + "fmt" +) type Node struct { Resource Resource `json:"resource"` diff --git a/server/neighbour-2.yaml b/server/neighbour-2.yaml index aab840bbf16e81d0e9be70ca434714ed5352bd3c..27892801e0527ab7d7a3882dff01572a8aed629b 100644 --- a/server/neighbour-2.yaml +++ b/server/neighbour-2.yaml @@ -1,11 +1,13 @@ -name: "b" -address: "127.0.0.11" +resource: + name: "b" + address: "127.0.0.11" storage: - - id: 10 - resource: - name: "b" - address: "127.0.0.11" - - id: 15 - resource: - name: "c" - address: "127.0.0.12" \ No newline at end of file + data: + - id: 10 + resource: + name: "b" + address: "127.0.0.11" + - id: 15 + resource: + name: "c" + address: "127.0.0.12" \ No newline at end of file diff --git a/server/neighbour-3.yaml b/server/neighbour-3.yaml index 41426a5a26a92f0e08506c7282a1d04bba63c472..06a0de56a4a0e7fad586dd47e93a76dc2c9d9133 100644 --- a/server/neighbour-3.yaml +++ b/server/neighbour-3.yaml @@ -1,11 +1,13 @@ -name: "c" -address: "127.0.0.12" +resource: + name: "c" + address: "127.0.0.12" storage: - - id: 15 - resource: - name: "c" - address: "127.0.0.12" - - id: 50 - resource: - name: "a" - address: "127.0.0.10" \ No newline at end of file + data: + - id: 15 + resource: + name: "c" + address: "127.0.0.12" + - id: 50 + resource: + name: "a" + address: "127.0.0.10" \ No newline at end of file diff --git a/server/server b/server/server index 40dcd61d5d055bb3056bdaf34a758835c51f02bc..1c4e7b85cb37d691d28674e4e669db9f6aa83b05 100755 Binary files a/server/server and b/server/server differ diff --git a/server/server.go b/server/server.go index 2503233edb645d75bfad9d97c10103dc3351235e..3eb702f8179e7838a6412ddb6b82749df9b97169 100644 --- a/server/server.go +++ b/server/server.go @@ -3,25 +3,42 @@ package main import ( "fmt" "freenet/helper" + "gopkg.in/yaml.v2" + "os" ) +var node helper.Node + func main() { //read arguments passed to the program //./server <port> <config_number> <mode> // port is the port the server will listen on // config_number represents de number of the neighbour-x.yaml file to load // mode is INIT or WAIT (INIT for the server that will run the search, WAIT for the servers that will listen) + args := os.Args + configFile := fmt.Sprintf("neighbour-%s.yaml", args[1]) + node = parseConfigFile(configFile) + fmt.Printf("Node{%s}", node) //initialize socket connection //if INIT //run the search algorithm and send message to the servers //if WAIT //wait and listen for new connections + //debugTypesPrint() +} - debugTypesPrint() +func parseConfigFile(file string) helper.Node { + var node helper.Node + yamlFile, err := os.ReadFile(file) + if err != nil { + panic(err) + } + err = yaml.Unmarshal(yamlFile, &node) + return node } -func parseNodeConfig() { +func usage() { }