diff --git a/service/service.go b/service/service.go index 6de532f..dd7bee8 100644 --- a/service/service.go +++ b/service/service.go @@ -37,6 +37,7 @@ type Service interface { Options() Options Start() error + Serve(lis net.Listener) error Stop() error Close() error } @@ -267,6 +268,13 @@ func (s *service) run() error { } } +func (s *service) Serve(lis net.Listener) error { + s.mu.Lock() + s.opts.lis = lis + s.mu.Unlock() + return s.run() +} + func (s *service) Start() error { return s.run() }