Services no longer print out errors when they shut down

This commit is contained in:
Sasha Koshka
2023-05-31 22:00:21 -04:00
parent 92b645f34c
commit c9f2c56d65
3 changed files with 33 additions and 5 deletions

View File

@@ -11,6 +11,8 @@ type Server struct {
underlying net.Listener
Config config.Config
Router *router.Router
running bool
}
func (server *Server) Run () (err error) {
@@ -18,17 +20,25 @@ func (server *Server) Run () (err error) {
"tcp", fmt.Sprint(":", server.Config.RouterPort()),
config.TLSConfigFor(server.Config))
if err != nil { return err }
server.running = true
log.Println(".// router on", server.underlying.Addr())
for {
conn, err := server.underlying.Accept()
if err != nil { return err }
if err != nil {
if server.running {
return err
} else {
return nil
}
}
log.Println("-=E incoming connection from", conn.RemoteAddr())
server.Router.Accept(conn)
}
}
func (server *Server) Shutdown () error {
server.running = false
return server.underlying.Close()
}