diff --git a/client/Iptable.go b/client/Iptable.go index 7c150ef..8df74c6 100644 --- a/client/Iptable.go +++ b/client/Iptable.go @@ -1,7 +1,6 @@ package client import ( - "bytes" "encoding/json" "fmt" "git.sr.ht/~akilan1999/p2p-rendering-computation/config" @@ -11,7 +10,6 @@ import ( "mime/multipart" "net/http" "os" - "path/filepath" ) type IP struct { @@ -132,48 +130,48 @@ func UpdateIpTableListClient() error { // SendPostRequest Sends a file as a //POST request. // Reference (https://stackoverflow.com/questions/51234464/upload-a-file-with-post-request-golang) -func SendPostRequest (url string, filename string, filetype string) ([]byte,error) { - file, err := os.Open(filename) - if err != nil { - return nil,err - } - defer file.Close() - - - body := &bytes.Buffer{} - writer := multipart.NewWriter(body) - part, err := writer.CreateFormFile(filetype, filepath.Base(file.Name())) - - if err != nil { - return nil,err - } - - io.Copy(part, file) - writer.Close() - request, err := http.NewRequest("POST", url, body) - - if err != nil { - return nil,err - } - - request.Header.Add("Content-Type", writer.FormDataContentType()) - client := &http.Client{} - - response, err := client.Do(request) - - if err != nil { - return nil,err - } - defer response.Body.Close() - - content, err := ioutil.ReadAll(response.Body) - - if err != nil { - return nil,err - } - - return content, nil -} +//func SendPostRequest (url string, filename string, filetype string) ([]byte,error) { +// file, err := os.Open(filename) +// if err != nil { +// return nil,err +// } +// defer file.Close() +// +// +// body := &bytes.Buffer{} +// writer := multipart.NewWriter(body) +// part, err := writer.CreateFormFile(filetype, filepath.Base(file.Name())) +// +// if err != nil { +// return nil,err +// } +// +// io.Copy(part, file) +// writer.Close() +// request, err := http.NewRequest("POST", url, body) +// +// if err != nil { +// return nil,err +// } +// +// request.Header.Add("Content-Type", writer.FormDataContentType()) +// client := &http.Client{} +// +// response, err := client.Do(request) +// +// if err != nil { +// return nil,err +// } +// defer response.Body.Close() +// +// content, err := ioutil.ReadAll(response.Body) +// +// if err != nil { +// return nil,err +// } +// +// return content, nil +//} func UploadMultipartFile(client http.Client, uri, key, path string) ([]byte, error) { body, writer := io.Pipe() diff --git a/p2p/iptable.go b/p2p/iptable.go index 7e164f5..ac7e7f9 100644 --- a/p2p/iptable.go +++ b/p2p/iptable.go @@ -82,9 +82,9 @@ func PrintIpTable() error { } for i := 0; i < len(table.IpAddress); i++ { - fmt.Printf("----------------------\nIP Address: %s\nLatency: %s\nDownload: %f\nUplaod: %f\n-----------" + - "-----------\n",table.IpAddress[i].Ipv4, - table.IpAddress[i].Latency,table.IpAddress[i].Download,table.IpAddress[i].Upload) + fmt.Printf("\nIP Address: %s\nLatency: %s\n-----------" + + "-----------------\n",table.IpAddress[i].Ipv4, + table.IpAddress[i].Latency) } return nil } diff --git a/p2p/speedtest.go b/p2p/speedtest.go index 79a9aaa..cdb51da 100644 --- a/p2p/speedtest.go +++ b/p2p/speedtest.go @@ -20,15 +20,18 @@ func (ip *IpAddresses)SpeedTest() error{ } //Upload Speed Test - err = value.UploadSpeed() - if err != nil { - return err - } + //err = value.UploadSpeed() + //if err != nil { + // return err + //} + // + //err = value.DownloadSpeed() + //if err != nil { + // return err + //} - err = value.DownloadSpeed() - if err != nil { - return err - } + //Set value to the list + ip.IpAddress[i] = value } @@ -95,7 +98,7 @@ func LocalSpeedTestIpTable() error { } // Helper function to remove element from an array of a struct -func remove(s []IpAddress, i int) []IpAddress { - s[len(s)-1], s[i] = s[i], s[len(s)-1] - return s[:len(s)-1] -} +//func remove(s []IpAddress, i int) []IpAddress { +// s[len(s)-1], s[i] = s[i], s[len(s)-1] +// return s[:len(s)-1] +//} diff --git a/server/server.go b/server/server.go index a7b90cb..b0b11d5 100644 --- a/server/server.go +++ b/server/server.go @@ -77,6 +77,12 @@ func Server() error{ c.String(http.StatusOK, fmt.Sprint(err)) } + // Called step to remove duplicate IP addresses + err = p2p.RemoveDuplicates() + if err != nil { + c.String(http.StatusOK, fmt.Sprint(err)) + } + // Reads IP addresses from ip table IpAddresses,err := p2p.ReadIpTable() if err != nil {