Maint: interface composition for HTTP proxy loop

- Change SetStatus to ApplyStatus
- Add Runner interface
- Add SettingsGetterSetter alias to state.SettingsGetterSetter
This commit is contained in:
Quentin McGaw (laptop)
2021-07-24 18:50:17 +00:00
parent 7479974d79
commit 85540d96b6
4 changed files with 12 additions and 8 deletions

View File

@@ -14,13 +14,10 @@ import (
)
type Looper interface {
Run(ctx context.Context, done chan<- struct{})
SetStatus(ctx context.Context, status models.LoopStatus) (
outcome string, err error)
GetStatus() (status models.LoopStatus)
GetSettings() (settings configuration.HTTPProxy)
SetSettings(ctx context.Context, settings configuration.HTTPProxy) (
outcome string)
Runner
loopstate.Getter
loopstate.Applier
SettingsGetterSetter
}
type looper struct {

View File

@@ -7,6 +7,10 @@ import (
"github.com/qdm12/gluetun/internal/constants"
)
type Runner interface {
Run(ctx context.Context, done chan<- struct{})
}
func (l *looper) Run(ctx context.Context, done chan<- struct{}) {
defer close(done)

View File

@@ -4,8 +4,11 @@ import (
"context"
"github.com/qdm12/gluetun/internal/configuration"
"github.com/qdm12/gluetun/internal/httpproxy/state"
)
type SettingsGetterSetter = state.SettingsGetterSetter
func (l *looper) GetSettings() (settings configuration.HTTPProxy) {
return l.state.GetSettings()
}

View File

@@ -10,7 +10,7 @@ func (l *looper) GetStatus() (status models.LoopStatus) {
return l.statusManager.GetStatus()
}
func (l *looper) SetStatus(ctx context.Context, status models.LoopStatus) (
func (l *looper) ApplyStatus(ctx context.Context, status models.LoopStatus) (
outcome string, err error) {
return l.statusManager.ApplyStatus(ctx, status)
}