summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-06-12 23:31:54 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-06-12 23:31:54 +0200
commit36980cb78dacdddd6f216f4e2d063cefcf53c21f (patch)
tree34a125f9bf142254ccd44c9f079875f382d4f934
parent513eee8a5672efe0164fed20cb1e6de0e689aed3 (diff)
Slow run
-rw-r--r--main.go15
1 files 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))
}
}