summaryrefslogtreecommitdiff
path: root/utilities/utilities.go
diff options
context:
space:
mode:
authorWill Hawkins <[email protected]>2022-03-16 20:16:58 -0400
committerWill Hawkins <[email protected]>2022-03-16 20:16:58 -0400
commiteb1d6269aeeeba72185b30273d1cd22b03f17d6e (patch)
tree62cc9eefee9e23aec3860d27c5d935d6c85d2220 /utilities/utilities.go
parentf8b462b43c1536a5beeb9c7fd3a843d34e992d42 (diff)
Refactor: Cleanup the RTT calculation functionality.
Diffstat (limited to 'utilities/utilities.go')
-rw-r--r--utilities/utilities.go18
1 files changed, 13 insertions, 5 deletions
diff --git a/utilities/utilities.go b/utilities/utilities.go
index a441453..f2ab80d 100644
--- a/utilities/utilities.go
+++ b/utilities/utilities.go
@@ -44,32 +44,40 @@ func Conditional(condition bool, t string, f string) string {
type GetLatency struct {
Delay time.Duration
+ RTTs uint16
Err error
}
-func TimedSequentialRTTs(ctx context.Context, client_a *http.Client, client_b *http.Client, url string) chan GetLatency {
+func CalculateSequentialRTTsTime(ctx context.Context, client_a *http.Client, client_b *http.Client, url string) chan GetLatency {
responseChannel := make(chan GetLatency)
go func() {
before := time.Now()
c_a, err := client_a.Get(url)
if err != nil {
- responseChannel <- GetLatency{Delay: 0, Err: err}
+ responseChannel <- GetLatency{Delay: 0, RTTs: 0, Err: err}
+ return
}
// TODO: Make this interruptable somehow by using _ctx_.
_, err = io.ReadAll(c_a.Body)
if err != nil {
- responseChannel <- GetLatency{Delay: 0, Err: err}
+ responseChannel <- GetLatency{Delay: 0, RTTs: 0, Err: err}
+ return
}
+ c_a.Body.Close()
+
c_b, err := client_b.Get(url)
if err != nil {
- responseChannel <- GetLatency{Delay: 0, Err: err}
+ responseChannel <- GetLatency{Delay: 0, RTTs: 0, Err: err}
+ return
}
// TODO: Make this interruptable somehow by using _ctx_.
_, err = io.ReadAll(c_b.Body)
if err != nil {
responseChannel <- GetLatency{Delay: 0, Err: err}
+ return
}
- responseChannel <- GetLatency{Delay: time.Now().Sub(before), Err: nil}
+ c_b.Body.Close()
+ responseChannel <- GetLatency{Delay: time.Since(before), RTTs: 10, Err: nil}
}()
return responseChannel
}