From d2ba54a7a6a72ff09ee18eb593a7ba361e7714f3 Mon Sep 17 00:00:00 2001 From: Marcelo Zimbres Date: Sun, 19 Jun 2022 21:15:01 +0200 Subject: [PATCH] Add go echo server. --- benchmarks/go/echo_server_direct.go | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 benchmarks/go/echo_server_direct.go diff --git a/benchmarks/go/echo_server_direct.go b/benchmarks/go/echo_server_direct.go new file mode 100644 index 00000000..fac10831 --- /dev/null +++ b/benchmarks/go/echo_server_direct.go @@ -0,0 +1,41 @@ +package main + +import ( + "bufio" + "fmt" + "io" + "net" + "os" +) + +func echo(conn net.Conn) { + r := bufio.NewReader(conn) + for { + line, err := r.ReadBytes(byte('\n')) + switch err { + case nil: + break + case io.EOF: + default: + fmt.Println("ERROR", err) + } + conn.Write(line) + } +} + +func main() { + l, err := net.Listen("tcp", "0.0.0.0:55555") + if err != nil { + fmt.Println("ERROR", err) + os.Exit(1) + } + + for { + conn, err := l.Accept() + if err != nil { + fmt.Println("ERROR", err) + continue + } + go echo(conn) + } +}