chore(all): return concrete types, accept interfaces

- Remove exported interfaces unused locally
- Define interfaces to accept arguments
- Return concrete types, not interfaces
This commit is contained in:
Quentin McGaw
2022-06-11 01:34:30 +00:00
parent 0378fe4a7b
commit 578ef768ab
132 changed files with 594 additions and 935 deletions

View File

@@ -9,11 +9,6 @@ import (
"github.com/qdm12/gluetun/internal/models"
)
type Applier interface {
ApplyStatus(ctx context.Context, status models.LoopStatus) (
outcome string, err error)
}
var ErrInvalidStatus = errors.New("invalid status")
// ApplyStatus sends signals to the running loop depending on the

View File

@@ -2,10 +2,6 @@ package loopstate
import "github.com/qdm12/gluetun/internal/models"
type Getter interface {
GetStatus() (status models.LoopStatus)
}
// GetStatus gets the status thread safely.
func (s *State) GetStatus() (status models.LoopStatus) {
s.statusMu.RLock()

View File

@@ -1,9 +1,4 @@
package loopstate
type Locker interface {
Lock()
Unlock()
}
func (s *State) Lock() { s.loopMu.Lock() }
func (s *State) Unlock() { s.loopMu.Unlock() }

View File

@@ -2,10 +2,6 @@ package loopstate
import "github.com/qdm12/gluetun/internal/models"
type Setter interface {
SetStatus(status models.LoopStatus)
}
// SetStatus sets the status thread safely.
// It should only be called by the loop internal code since
// it does not interact with the loop code directly.

View File

@@ -6,15 +6,6 @@ import (
"github.com/qdm12/gluetun/internal/models"
)
var _ Manager = (*State)(nil)
type Manager interface {
Locker
Getter
Setter
Applier
}
func New(status models.LoopStatus,
start chan<- struct{}, running <-chan models.LoopStatus,
stop chan<- struct{}, stopped <-chan struct{}) *State {