From 596ac9a0d53cbf6ee5c7039c822176adba5b4e51 Mon Sep 17 00:00:00 2001 From: Dylan Peiry <dylan.peiry@etu.hesge.ch> Date: Wed, 16 Nov 2022 16:33:38 +0100 Subject: [PATCH] adding files --- .gitignore | 1 + client/client.go | 1 + go.mod | 3 +++ helper/types.go | 39 +++++++++++++++++++++++++++++++++++++++ server/server.go | 26 ++++++++++++++++++++++++++ 5 files changed, 70 insertions(+) create mode 100644 .gitignore create mode 100644 client/client.go create mode 100644 go.mod create mode 100644 helper/types.go create mode 100644 server/server.go diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f11b75 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ diff --git a/client/client.go b/client/client.go new file mode 100644 index 0000000..da13c8e --- /dev/null +++ b/client/client.go @@ -0,0 +1 @@ +package client diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..83bdda5 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module freenet + +go 1.19 diff --git a/helper/types.go b/helper/types.go new file mode 100644 index 0000000..258e5cf --- /dev/null +++ b/helper/types.go @@ -0,0 +1,39 @@ +package helper + +import "fmt" + +type Node struct { + Resource Resource `json:"resource"` + Storage Storage `json:"storage"` +} + +type Resource struct { + Name string `json:"name"` + Address string `json:"address"` +} + +type Storage struct { + Data []StorageElement `json:"data"` +} + +type StorageElement struct { + Id int `json:"id"` + Resource `json:"resource"` +} + +func (r Resource) String() string { + return fmt.Sprintf("Resource{Name=%s,Address=%s}", r.Name, r.Address) +} + +func (se StorageElement) String() string { + return fmt.Sprintf("StorageElement{Id=%d,Resource=%s}", se.Id, se.Resource.String()) +} + +func (s Storage) String() string { + output := "Storage{\n" + for _, se := range s.Data { + output += fmt.Sprintf("%s\n", se.String()) + } + output += "}" + return output +} diff --git a/server/server.go b/server/server.go new file mode 100644 index 0000000..e60c2a8 --- /dev/null +++ b/server/server.go @@ -0,0 +1,26 @@ +package server + +import ( + "fmt" + "freenet/helper" +) + +func main() { + resource := helper.Resource{ + Name: "a", + Address: "127.0.0.10", + } + storageElement := helper.StorageElement{ + Id: 15, + Resource: resource, + } + + elements := make([]helper.StorageElement, 1) + elements = append(elements, storageElement) + + node := helper.Node{ + Resource: resource, + Storage: helper.Storage{Data: elements}, + } + fmt.Printf(node) +} -- GitLab