summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2023-06-18 19:59:20 +0300
committerPaul Buetow <paul@buetow.org>2023-06-18 19:59:20 +0300
commit831137abdecfcafeb21fb5f3de45156819f35ed4 (patch)
treedfe5f31e781ddde2f5de651965939ea964f6057d
parent5f24c3a2ce346a31820ae27676f18a4d71899a34 (diff)
refactor
-rw-r--r--Taskfile.yml2
-rw-r--r--internal/client/tcpclient.go6
-rw-r--r--internal/iorw/iorw.go (renamed from internal/tcp/tcp.go)14
-rw-r--r--internal/iorw/iorw_test.go (renamed from internal/tcp/tcp_test.go)11
-rw-r--r--internal/server/tcpserver.go6
5 files changed, 16 insertions, 23 deletions
diff --git a/Taskfile.yml b/Taskfile.yml
index 48f0e5c..4cc772b 100644
--- a/Taskfile.yml
+++ b/Taskfile.yml
@@ -5,7 +5,7 @@ tasks:
cmds:
- go build -o gorum cmd/gorum/main.go
dev:
- deps: ["vet", "lint"]
+ deps: ["vet", "lint", "test"]
cmds:
- go build -race -o gorum cmd/gorum/main.go
test:
diff --git a/internal/client/tcpclient.go b/internal/client/tcpclient.go
index 3181fd4..db4334f 100644
--- a/internal/client/tcpclient.go
+++ b/internal/client/tcpclient.go
@@ -6,7 +6,7 @@ import (
"log"
"net"
- "codeberg.org/snonux/gorum/internal/tcp"
+ "codeberg.org/snonux/gorum/internal/iorw"
"codeberg.org/snonux/gorum/internal/vote"
)
@@ -29,11 +29,11 @@ func tcpClientRun(ctx context.Context, node string, ch <-chan vote.Vote) error {
}
log.Println("tcpclient: sending", message, "to node", node)
- if err := tcp.WriteStr(conn, message); err != nil {
+ if err := iorw.WriteStr(conn, message); err != nil {
return err
}
- response, err := tcp.ReadStr(conn)
+ response, err := iorw.ReadStr(conn)
if err != nil {
return err
}
diff --git a/internal/tcp/tcp.go b/internal/iorw/iorw.go
index 3f9bafc..a91a5b2 100644
--- a/internal/tcp/tcp.go
+++ b/internal/iorw/iorw.go
@@ -1,19 +1,11 @@
-package tcp
+package iorw
import (
"encoding/binary"
"io"
)
-type Writer interface {
- Write(b []byte) (n int, err error)
-}
-
-type Reader interface {
- Read(b []byte) (n int, err error)
-}
-
-func WriteStr(w Writer, message string) error {
+func WriteStr(w io.Writer, message string) error {
messageBytes := []byte(message)
sizeBytes := make([]byte, 8)
binary.BigEndian.PutUint64(sizeBytes, uint64(len(messageBytes)))
@@ -28,7 +20,7 @@ func WriteStr(w Writer, message string) error {
return nil
}
-func ReadStr(r Reader) (string, error) {
+func ReadStr(r io.Reader) (string, error) {
sizeBytes := make([]byte, 8)
if _, err := io.ReadFull(r, sizeBytes); err != nil {
return "", err
diff --git a/internal/tcp/tcp_test.go b/internal/iorw/iorw_test.go
index 668758c..c54c059 100644
--- a/internal/tcp/tcp_test.go
+++ b/internal/iorw/iorw_test.go
@@ -1,4 +1,4 @@
-package tcp
+package iorw
import (
"testing"
@@ -35,10 +35,11 @@ func (rwt readWriteTest) Read(b []byte) (n int, err error) {
func TestReadWrite(t *testing.T) {
t.Parallel()
- message := "Hello world!"
-
- var sizeWritten bool
- var sizeRead bool
+ var (
+ message = "Hello world!"
+ sizeWritten = false
+ sizeRead = false
+ )
rwt := readWriteTest{
sizeWritten: &sizeWritten,
diff --git a/internal/server/tcpserver.go b/internal/server/tcpserver.go
index 21324c3..d952972 100644
--- a/internal/server/tcpserver.go
+++ b/internal/server/tcpserver.go
@@ -7,7 +7,7 @@ import (
"net"
"codeberg.org/snonux/gorum/internal/config"
- "codeberg.org/snonux/gorum/internal/tcp"
+ "codeberg.org/snonux/gorum/internal/iorw"
)
type handlerCb func(message string) string
@@ -49,7 +49,7 @@ func handleConnection(ctx context.Context, conn net.Conn, cb handlerCb) {
log.Println("server: context done, disconnecting client:", remoteAddr)
return
default:
- message, err := tcp.ReadStr(conn)
+ message, err := iorw.ReadStr(conn)
if err != nil {
log.Println("server: unable to read message", remoteAddr, err)
return
@@ -58,7 +58,7 @@ func handleConnection(ctx context.Context, conn net.Conn, cb handlerCb) {
log.Println("server: received message", message, "from", remoteAddr)
response := cb(message)
- if err := tcp.WriteStr(conn, response); err != nil {
+ if err := iorw.WriteStr(conn, response); err != nil {
log.Println("error:", err)
}
}