diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..9f11b755a17d8192c60f61cb17b8902dffbd9f23 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ diff --git a/client/client.go b/client/client.go new file mode 100644 index 0000000000000000000000000000000000000000..da13c8ef3ca33e1788a7b9560e0ade4e46b5f6f6 --- /dev/null +++ b/client/client.go @@ -0,0 +1 @@ +package client diff --git a/go.mod b/go.mod new file mode 100644 index 0000000000000000000000000000000000000000..83bdda5247a9da4d6d0e8ca3bdf3405a6548fe84 --- /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 0000000000000000000000000000000000000000..258e5cf460094668adacc8faec698625c903072f --- /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 0000000000000000000000000000000000000000..e60c2a82adc9fde6d92af0be80f872e0995d7d03 --- /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) +}