Skip to content

Commit 60389ba

Browse files
committed
Allowed passing listener
1 parent 9389638 commit 60389ba

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

simple_server.go

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -194,25 +194,29 @@ func serverConfig(addr string) (host, user, pwd string, config *ssh.ServerConfig
194194
// Run the server
195195
func (s *SimpleServer) Run(ctx context.Context) error {
196196
var listenConfig net.ListenConfig
197-
listener, err := listenConfig.Listen(ctx, s.Network, s.Address)
198-
if err != nil {
199-
return err
197+
if s.Listener == nil {
198+
listener, err := listenConfig.Listen(ctx, s.Network, s.Address)
199+
if err != nil {
200+
return err
201+
}
202+
s.Listener = listener
200203
}
201-
s.Listener = listener
202-
s.Address = listener.Addr().String()
203-
return s.Serve(listener)
204+
s.Address = s.Listener.Addr().String()
205+
return s.Serve(s.Listener)
204206
}
205207

206208
// Start the server
207209
func (s *SimpleServer) Start(ctx context.Context) error {
208210
var listenConfig net.ListenConfig
209-
listener, err := listenConfig.Listen(ctx, s.Network, s.Address)
210-
if err != nil {
211-
return err
211+
if s.Listener == nil {
212+
listener, err := listenConfig.Listen(ctx, s.Network, s.Address)
213+
if err != nil {
214+
return err
215+
}
216+
s.Listener = listener
212217
}
213-
s.Listener = listener
214-
s.Address = listener.Addr().String()
215-
go s.Serve(listener)
218+
s.Address = s.Listener.Addr().String()
219+
go s.Serve(s.Listener)
216220
return nil
217221
}
218222

0 commit comments

Comments
 (0)