github.com/pokt-network/tendermint@v0.32.11-0.20230426215212-59310158d3e9/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  }