server with basic hot reload
This commit is contained in:
@@ -1,6 +1,38 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"sync/atomic"
|
||||
|
||||
"git.oblat.lv/alex/triggerssmith/internal/config"
|
||||
"git.oblat.lv/alex/triggerssmith/internal/server"
|
||||
)
|
||||
|
||||
type App struct {
|
||||
// Application state and configurations can be added here
|
||||
}
|
||||
configuration atomic.Value // *config.Config
|
||||
ls *server.LiveServer
|
||||
}
|
||||
|
||||
// NewApp creates a new instance of the App struct. Always returns ErrNilPointerWarn.
|
||||
func NewApp() (*App, error) {
|
||||
app := &App{}
|
||||
return app, ErrNilPointerWarn
|
||||
}
|
||||
|
||||
func (a *App) LoadConfiguration(cfg *config.Config) {
|
||||
a.configuration.Store(cfg)
|
||||
}
|
||||
|
||||
func (a *App) Configuration() *config.Config {
|
||||
cfg := a.configuration.Load()
|
||||
if cfg == nil {
|
||||
return nil
|
||||
}
|
||||
return cfg.(*config.Config)
|
||||
}
|
||||
|
||||
func (a *App) Server() *server.LiveServer {
|
||||
if a.ls == nil {
|
||||
a.ls, _ = server.Create("main_server")
|
||||
}
|
||||
return a.ls
|
||||
}
|
||||
|
||||
@@ -6,4 +6,4 @@ import (
|
||||
|
||||
var (
|
||||
ErrNilPointerWarn = errors.New("nil pointer dereference warning")
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user