diff options
| author | Paul Buetow <paul@buetow.org> | 2023-06-07 09:51:35 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2023-06-07 09:51:35 +0300 |
| commit | 1488d0a841443fe622e41148dad89298ece1603d (patch) | |
| tree | e0ead5f30f08972c80099b202bd89f435e2a4ed5 | |
| parent | 548700540cb17755e14fae42413d28d462c01157 (diff) | |
move out message response handler
| -rw-r--r-- | internal/server/server.go | 5 | ||||
| -rw-r--r-- | internal/server/tcpserver.go | 16 |
2 files changed, 10 insertions, 11 deletions
diff --git a/internal/server/server.go b/internal/server/server.go index dc1fd90..7956703 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -44,5 +44,8 @@ func run(ctx context.Context, conf config.Config, quo quorum.Quorum) error { } }() - return tcpServerRun(serverCtx, conf, ch) + return tcpServerRun(serverCtx, conf, func(message string) string { + ch <- vote.New(conf, message) + return "ok" + }) } diff --git a/internal/server/tcpserver.go b/internal/server/tcpserver.go index 983228b..3853cdc 100644 --- a/internal/server/tcpserver.go +++ b/internal/server/tcpserver.go @@ -8,12 +8,11 @@ import ( "net" "codeberg.org/snonux/gorum/internal/config" - "codeberg.org/snonux/gorum/internal/vote" ) -func tcpServerRun(ctx context.Context, conf config.Config, - ch chan<- vote.Vote) error { +type handlerCb func(message string) string +func tcpServerRun(ctx context.Context, conf config.Config, cb handlerCb) error { listener, err := net.Listen("tcp", conf.Address) if err != nil { return fmt.Errorf("Error starting TCP server: %s", err.Error()) @@ -36,13 +35,11 @@ func tcpServerRun(ctx context.Context, conf config.Config, } log.Printf("Client connected: %s\n", conn.RemoteAddr().String()) - go handleConnection(ctx, conf, conn, ch) + go handleConnection(ctx, conn, cb) } } -func handleConnection(ctx context.Context, conf config.Config, - conn net.Conn, ch chan<- vote.Vote) { - +func handleConnection(ctx context.Context, conn net.Conn, cb handlerCb) { defer conn.Close() var ( @@ -63,9 +60,8 @@ func handleConnection(ctx context.Context, conf config.Config, } log.Printf("Received message from %s: %s", remoteAddr, message) - ch <- vote.New(conf, message) - - conn.Write([]byte(message)) + response := cb(message) + conn.Write([]byte(response)) } } } |
