github.com/Oyster-zx/tendermint@v0.34.24-fork/abci/tests/benchmarks/parallel/parallel.go (about) 1 package main 2 3 import ( 4 "bufio" 5 "fmt" 6 "log" 7 8 "github.com/tendermint/tendermint/abci/types" 9 tmnet "github.com/tendermint/tendermint/libs/net" 10 ) 11 12 func main() { 13 14 conn, err := tmnet.Connect("unix://test.sock") 15 if err != nil { 16 log.Fatal(err.Error()) 17 } 18 19 // Read a bunch of responses 20 go func() { 21 counter := 0 22 for { 23 var res = &types.Response{} 24 err := types.ReadMessage(conn, res) 25 if err != nil { 26 log.Fatal(err.Error()) 27 } 28 counter++ 29 if counter%1000 == 0 { 30 fmt.Println("Read", counter) 31 } 32 } 33 }() 34 35 // Write a bunch of requests 36 counter := 0 37 for i := 0; ; i++ { 38 var bufWriter = bufio.NewWriter(conn) 39 var req = types.ToRequestEcho("foobar") 40 41 err := types.WriteMessage(req, bufWriter) 42 if err != nil { 43 log.Fatal(err.Error()) 44 } 45 err = bufWriter.Flush() 46 if err != nil { 47 log.Fatal(err.Error()) 48 } 49 50 counter++ 51 if counter%1000 == 0 { 52 fmt.Println("Write", counter) 53 } 54 } 55 }