diff --git a/p2p/ip_table.json b/p2p/ip_table.json index f2f0382..570b065 100644 --- a/p2p/ip_table.json +++ b/p2p/ip_table.json @@ -1,7 +1,10 @@ { - "ip_address":[ - { - "ipv4":"localhost" - } - ] -} + "ip_address": [ + { + "ipv4": "localhost", + "latency": 14981051, + "download": 8142.122540206258, + "upload": 3578.766512629995 + } + ] +} \ No newline at end of file diff --git a/p2p/readiptable.go b/p2p/readiptable.go index 78ca0e4..ecc7642 100644 --- a/p2p/readiptable.go +++ b/p2p/readiptable.go @@ -43,3 +43,17 @@ func ReadIpTable()(*IpAddresses ,error){ return &ipAddresses, nil } + +func (i *IpAddresses) WriteIpTable() error { + file, err := json.MarshalIndent(i, "", " ") + if err != nil { + return err + } + + err = ioutil.WriteFile("ip_table.json", file, 0644) + if err != nil { + return err + } + + return nil +} \ No newline at end of file diff --git a/p2p/readiptable_test.go b/p2p/readiptable_test.go index 2c10dee..c31e1b9 100644 --- a/p2p/readiptable_test.go +++ b/p2p/readiptable_test.go @@ -5,7 +5,12 @@ import ( ) func TestReadIpTable(t *testing.T) { - _, err := ReadIpTable() + json, err := ReadIpTable() + if err != nil { + t.Fatal(err) + } + + err = json.WriteIpTable() if err != nil { t.Fatal(err) } diff --git a/p2p/speedtest.go b/p2p/speedtest.go index 3868c71..b7f8e90 100644 --- a/p2p/speedtest.go +++ b/p2p/speedtest.go @@ -1,8 +1,6 @@ package p2p -import ( - "fmt" -) +import "fmt" func SpeedTest() error{ @@ -12,29 +10,30 @@ func SpeedTest() error{ return err } - for _, s := range targets.IpAddress { - + for i, _ := range targets.IpAddress { + // Ping Test - err = s.PingTest() + err = targets.IpAddress[i].PingTest() if err != nil { return err } //Upload Speed Test - err = s.UploadSpeed() + err = targets.IpAddress[i].UploadSpeed() if err != nil { return err } - err = s.DownloadSpeed() + err = targets.IpAddress[i].DownloadSpeed() if err != nil { return err } + fmt.Println(targets.IpAddress[i].Latency) + } - //s.DownloadTest(false) - //s.UploadTest(false) - fmt.Println(s.Upload) - //fmt.Printf("Latency: %s, Download: %f, Upload: %f\n", s.Latency, s.DLSpeed, s.ULSpeed) + err = targets.WriteIpTable() + if err != nil { + return err } return nil diff --git a/p2p/testingMetrics.go b/p2p/testingMetrics.go index acab19e..05a23f9 100644 --- a/p2p/testingMetrics.go +++ b/p2p/testingMetrics.go @@ -96,7 +96,7 @@ func (s *IpAddress)UploadSpeed() error { start := time.Now() b, w := createMultipartFormData("file","50.bin") - req, err := http.NewRequest("GET", "http://" + s.Ipv4 + ":8088/", &b) + req, err := http.NewRequest("GET", "http://" + s.Ipv4 + ":8088/upload", &b) if err != nil { return err } @@ -104,7 +104,6 @@ func (s *IpAddress)UploadSpeed() error { req.Header.Set("Content-Type", w.FormDataContentType()) defer req.Body.Close() ioutil.ReadAll(req.Body) - t := time.Since(start) //fmt.Println(s.Seconds()) // size * time (seconds)