mirror of
https://github.com/eosswedenorg/eth-healthcheck
synced 2026-06-16 05:04:55 +02:00
replace local tcp_server with github.com/eosswedenorg-go/tcp_server
This commit is contained in:
parent
ed14f96813
commit
b8216817f7
7 changed files with 4 additions and 126 deletions
4
go.mod
4
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
|
||||
|
|
|
|||
2
go.sum
2
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=
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
module internal/tcp_server
|
||||
|
||||
go 1.14
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue