@@ -18,9 +18,18 @@ import (
18
18
"google.golang.org/grpc"
19
19
)
20
20
21
+ // listenerCfg holds closures used to retrieve listeners for the gRPC services.
22
+ type listenerCfg struct {
23
+ // grpcListener returns a listener to use for the gRPC server.
24
+ grpcListener func () (net.Listener , error )
25
+
26
+ // restListener returns a listener to use for the REST proxy.
27
+ restListener func () (net.Listener , error )
28
+ }
29
+
21
30
// daemon runs loopd in daemon mode. It will listen for grpc connections,
22
31
// execute commands and pass back swap status information.
23
- func daemon (config * config ) error {
32
+ func daemon (config * config , lisCfg * listenerCfg ) error {
24
33
lnd , err := getLnd (config .Network , config .Lnd )
25
34
if err != nil {
26
35
return err
@@ -74,7 +83,7 @@ func daemon(config *config) error {
74
83
75
84
// Next, start the gRPC server listening for HTTP/2 connections.
76
85
log .Infof ("Starting gRPC listener" )
77
- grpcListener , err := net . Listen ( "tcp" , config . RPCListen )
86
+ grpcListener , err := lisCfg . grpcListener ( )
78
87
if err != nil {
79
88
return fmt .Errorf ("RPC server unable to listen on %s" ,
80
89
config .RPCListen )
@@ -96,7 +105,7 @@ func daemon(config *config) error {
96
105
}
97
106
98
107
log .Infof ("Starting REST proxy listener" )
99
- restListener , err := net . Listen ( "tcp" , config . RESTListen )
108
+ restListener , err := lisCfg . restListener ( )
100
109
if err != nil {
101
110
return fmt .Errorf ("REST proxy unable to listen on %s" ,
102
111
config .RESTListen )
0 commit comments