@@ -20,26 +20,34 @@ type IPProvider interface {
2020 Get () (ip string , err error )
2121}
2222
23- type ConfigProvider interface {
24- Get () (domain , record string , err error )
25- }
23+ type DefaultIPProvider struct {}
2624
27- type ipProvider struct {}
28-
29- func (p * ipProvider ) Get () (string , error ) {
25+ func (p * DefaultIPProvider ) Get () (string , error ) {
3026 ip , err := ip .GetPublicIPWithRetry (10 , 5 * time .Second )
3127 if err != nil {
3228 return "" , errors .Trace (err )
3329 }
3430 return ip , nil
3531}
3632
37- type configProvider struct {}
33+ func NewDefaultIPProvider () * DefaultIPProvider {
34+ return & DefaultIPProvider {}
35+ }
36+
37+ type ConfigProvider interface {
38+ Get () (domain , record string , err error )
39+ }
3840
39- func (p * configProvider ) Get () (domain , record string , err error ) {
41+ type DefaultConfigProvider struct {}
42+
43+ func (p * DefaultConfigProvider ) Get () (domain , record string , err error ) {
4044 return conf .Domain .Get (), conf .Record .Get (), nil
4145}
4246
47+ func NewDefaultConfigProvider () * DefaultConfigProvider {
48+ return & DefaultConfigProvider {}
49+ }
50+
4351type Daemon interface {
4452 Update (provider DDNSProvider ) error
4553 Start (provider DDNSProvider , updatePeriod , failureRetryDelay time.Duration ) error
@@ -150,7 +158,7 @@ func (d *DDNSDaemon) Start(updatePeriod, failureRetryDelay time.Duration) error
150158}
151159
152160// StartWithDefaults calls Start but with default values
153- func (d * DDNSDaemon ) StartWithDefaults (provider DDNSProvider ) error {
161+ func (d * DDNSDaemon ) StartWithDefaults () error {
154162 t := 10 * time .Second
155163 return errors .Trace (d .Start (t , t ))
156164}
0 commit comments