From b8216817f7794724a95965ad82fe6d28ec291279 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Mon, 3 Jan 2022 15:40:20 +0100 Subject: [PATCH] replace local tcp_server with github.com/eosswedenorg-go/tcp_server --- go.mod | 4 +-- go.sum | 2 ++ src/cmd/main.go | 2 +- src/tcp_server/client.go | 44 ------------------------------- src/tcp_server/go.mod | 3 --- src/tcp_server/server.go | 56 ---------------------------------------- src/tcp_server/types.go | 19 -------------- 7 files changed, 4 insertions(+), 126 deletions(-) delete mode 100644 src/tcp_server/client.go delete mode 100644 src/tcp_server/go.mod delete mode 100644 src/tcp_server/server.go delete mode 100644 src/tcp_server/types.go diff --git a/go.mod b/go.mod index 52c3872..575512c 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.14 require ( github.com/eosswedenorg-go/haproxy v0.0.0-20220101140534-fccfdd93a8cd + github.com/eosswedenorg-go/tcp_server v0.1.0 github.com/go-stack/stack v1.8.0 // indirect github.com/inconshreveable/log15 v0.0.0-20201112154412-8562bdadbbac github.com/jarcoal/httpmock v1.1.0 // indirect @@ -13,7 +14,4 @@ require ( github.com/pborman/getopt/v2 v2.1.0 github.com/stretchr/testify v1.7.0 // indirect github.com/tidwall/gjson v1.12.1 // indirect - internal/tcp_server v1.0.0 ) - -replace internal/tcp_server => ./src/tcp_server diff --git a/go.sum b/go.sum index b90b0e2..f8872c8 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/eosswedenorg-go/haproxy v0.0.0-20220101140534-fccfdd93a8cd h1:e59v3HnnG60uE50OtziOxyiSNDADr1lDbzn33btn3yE= github.com/eosswedenorg-go/haproxy v0.0.0-20220101140534-fccfdd93a8cd/go.mod h1:l5DTEb0dcTZyATo2cuaYQPqwBRuzDw0UgupNo8SAgXo= +github.com/eosswedenorg-go/tcp_server v0.1.0 h1:nbXJK4sPSGn3zGPGWR2vdmj+s/Ywp58k7dZ9fuYNZlI= +github.com/eosswedenorg-go/tcp_server v0.1.0/go.mod h1:PZd1z/KzNlEpmKtW0Zu9dHJLs5PAMTNR3jPbMGWhZIw= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/inconshreveable/log15 v0.0.0-20201112154412-8562bdadbbac h1:n1DqxAo4oWPMvH1+v+DLYlMCecgumhhgnxAPdqDIFHI= diff --git a/src/cmd/main.go b/src/cmd/main.go index 7148259..3d0a5f1 100644 --- a/src/cmd/main.go +++ b/src/cmd/main.go @@ -8,7 +8,7 @@ import ( "github.com/pborman/getopt/v2" "github.com/onrik/ethrpc" "github.com/eosswedenorg-go/haproxy" - "internal/tcp_server" + "github.com/eosswedenorg-go/tcp_server" ) var logger log.Logger diff --git a/src/tcp_server/client.go b/src/tcp_server/client.go deleted file mode 100644 index a0139ee..0000000 --- a/src/tcp_server/client.go +++ /dev/null @@ -1,44 +0,0 @@ - -package tcp_server - -import ( - "bufio" - "net" -) - -// Read client messages. -func (c *Client) read() { - reader := bufio.NewReader(c.conn) - for { - message, err := reader.ReadString('\n') - if err != nil { - c.conn.Close() - c.Server.onDisconnect(c, err) - return - } - c.Server.onMessage(c, message) - } -} - -// Write string to client. -func (c *Client) WriteString(message string) error { - return c.Write([]byte(message)) -} - -// Write bytes to client -func (c *Client) Write(b []byte) error { - _, err := c.conn.Write(b) - if err != nil { - c.conn.Close() - c.Server.onDisconnect(c, err) - } - return err -} - -func (c *Client) Conn() net.Conn { - return c.conn -} - -func (c *Client) Close() error { - return c.conn.Close() -} diff --git a/src/tcp_server/go.mod b/src/tcp_server/go.mod deleted file mode 100644 index 15f8ed7..0000000 --- a/src/tcp_server/go.mod +++ /dev/null @@ -1,3 +0,0 @@ -module internal/tcp_server - -go 1.14 diff --git a/src/tcp_server/server.go b/src/tcp_server/server.go deleted file mode 100644 index 328ce16..0000000 --- a/src/tcp_server/server.go +++ /dev/null @@ -1,56 +0,0 @@ - -package tcp_server - -import ( - "net" -) - -func New(address string) *server { - - server := &server{ - address: address, - } - - server.OnConnect(func(c *Client) {}) - server.OnMessage(func(c *Client, message string) {}) - server.OnDisconnect(func(c *Client, err error) {}) - - return server -} - -// Called when a client connects -func (s *server) OnConnect(callback func(c *Client)) { - s.onConnect = callback -} - -// Called the server gets a message from a client. -func (s *server) OnMessage(callback func(c *Client, message string)) { - s.onMessage = callback -} - -// Called when a connection is closed. -func (s *server) OnDisconnect(callback func(c *Client, err error)) { - s.onDisconnect = callback -} - -func (s *server) Listen() error { - - sock, err := net.Listen("tcp", s.address) - if err != nil { - return err - } - defer sock.Close() - - for { - conn, _ := sock.Accept() - c := &Client{ - conn: conn, - Server: s, - Addr: conn.RemoteAddr(), - } - s.onConnect(c) - go c.read() - } - - return nil -} diff --git a/src/tcp_server/types.go b/src/tcp_server/types.go deleted file mode 100644 index dcdfffa..0000000 --- a/src/tcp_server/types.go +++ /dev/null @@ -1,19 +0,0 @@ - -package tcp_server - -import ( - "net" -) - -type Client struct { - conn net.Conn - Addr net.Addr - Server *server -} - -type server struct { - address string - onConnect func(c *Client) - onDisconnect func(c *Client, err error) - onMessage func(c *Client, message string) -}