Skip to content

Commit d0612a7

Browse files
committed
refactor: pass in listener to the log receiver
This allows to easily bind to a random part and learn that port. Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
1 parent d86cdd5 commit d0612a7

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

cmd/siderolink-agent/log_receiver.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package main
66

77
import (
88
"context"
9+
"net"
910

1011
"go.uber.org/zap"
1112
"golang.org/x/sync/errgroup"
@@ -25,7 +26,12 @@ func logHandler(logger *zap.Logger) logreceiver.Handler {
2526
}
2627

2728
func logReceiver(ctx context.Context, eg *errgroup.Group, logger *zap.Logger) error {
28-
srv, err := logreceiver.NewServer(logger, logReceiverFlags.endpoint, logHandler(logger))
29+
lis, err := net.Listen("tcp", logReceiverFlags.endpoint)
30+
if err != nil {
31+
return err
32+
}
33+
34+
srv, err := logreceiver.NewServer(logger, lis, logHandler(logger))
2935
if err != nil {
3036
return err
3137
}

pkg/logreceiver/server.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,10 @@ type Server struct {
2626
// Handler is called for each received message.
2727
type Handler func(srcAddress netaddr.IP, msg map[string]interface{})
2828

29-
// NewServer initializes new Server and starts listening.
30-
func NewServer(logger *zap.Logger, listenAddress string, handler Handler) (*Server, error) {
31-
lis, err := net.Listen("tcp", listenAddress)
32-
if err != nil {
33-
return nil, fmt.Errorf("error listening: %w", err)
34-
}
35-
29+
// NewServer initializes new Server.
30+
func NewServer(logger *zap.Logger, listener net.Listener, handler Handler) (*Server, error) {
3631
return &Server{
37-
listener: lis,
32+
listener: listener,
3833
logger: logger,
3934
handler: handler,
4035
}, nil

0 commit comments

Comments
 (0)