From 36980cb78dacdddd6f216f4e2d063cefcf53c21f Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 12 Jun 2017 23:31:54 +0200 Subject: Slow run --- main.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/main.go b/main.go index 161b5e4..d6effe7 100644 --- a/main.go +++ b/main.go @@ -1,12 +1,12 @@ package main import ( - "encoding/hex" "fmt" "io" "log" "net" "sync" + "time" ) const ( @@ -29,12 +29,16 @@ type Data struct { Dir Direction Data []byte Size int + Time time.Duration } func dump(dir Direction, src, dst net.Conn, data chan<- Data) error { - buf := make([]byte, 1452) + //buf := make([]byte, 1452) + buf := make([]byte, 1) for k := 1; ; k++ { + now := time.Now() n, err := src.Read(buf) + spent := time.Since(now) if err != nil { if err == io.EOF { return nil @@ -42,7 +46,8 @@ func dump(dir Direction, src, dst net.Conn, data chan<- Data) error { return fmt.Errorf("READ %v", err) } - data <- Data{Round: k, Dir: dir, Data: buf[:n], Size: n} + data <- Data{Round: k, Dir: dir, Data: buf[:n], Size: n, Time: spent} + time.Sleep(10 * time.Millisecond) _, err = dst.Write(buf[:n]) if err != nil { @@ -89,7 +94,7 @@ func main() { }(ClientServer) for d := range data { - fmt.Println("#", d.Round, d.Dir, d.Size, "bytes") - fmt.Println(hex.Dump(d.Data)) + fmt.Println("#", d.Round, d.Dir, d.Size, "bytes", d.Time, d.Data) + //fmt.Println(hex.Dump(d.Data)) } } -- cgit v1.2.3