better debouncing

This commit is contained in:
Craig
2020-01-14 08:36:48 +00:00
parent 5830f92637
commit 6c815b019d
5 changed files with 151 additions and 51 deletions

View File

@ -64,6 +64,7 @@ type Neko struct {
Serve *config.Serve
Logger zerolog.Logger
http *http.Server
manager *webrtc.WebRTCManager
}
func (neko *Neko) Preflight() {
@ -75,6 +76,10 @@ func (neko *Neko) Start() {
manager, err := webrtc.NewManager(neko.Serve.Password)
if err != nil {
neko.Logger.Panic().Err(err).Msg("Can not create webrtc manager")
}
if err := manager.Start(); err != nil {
neko.Logger.Panic().Err(err).Msg("Can not start webrtc manager")
}
@ -132,9 +137,17 @@ func (neko *Neko) Start() {
}
neko.http = server
neko.manager = manager
}
func (neko *Neko) Shutdown() {
if neko.manager != nil {
if err := neko.manager.Shutdown(); err != nil {
neko.Logger.Err(err).Msg("WebRTC manager shutdown with an error")
} else {
neko.Logger.Debug().Msg("WebRTC manager shutdown")
}
}
if neko.http != nil {
if err := neko.http.Shutdown(context.Background()); err != nil {
neko.Logger.Err(err).Msg("HTTP server shutdown with an error")