tunasync/worker/rsync_provider.go

49 lines
987 B
Go

package worker
type rsyncConfig struct {
name string
upstreamURL, password, excludeFile string
workingDir, logDir, logFile string
useIPv6 bool
interval int
}
// An RsyncProvider provides the implementation to rsync-based syncing jobs
type rsyncProvider struct {
baseProvider
rsyncConfig
}
func newRsyncProvider(c rsyncConfig) (*rsyncProvider, error) {
// TODO: check config options
provider := &rsyncProvider{
baseProvider: baseProvider{
name: c.name,
ctx: NewContext(),
interval: c.interval,
},
rsyncConfig: c,
}
provider.ctx.Set(_WorkingDirKey, c.workingDir)
provider.ctx.Set(_LogDirKey, c.logDir)
provider.ctx.Set(_LogFileKey, c.logFile)
return provider, nil
}
// TODO: implement this
func (p *rsyncProvider) Start() {
}
// TODO: implement this
func (p *rsyncProvider) Terminate() {
}
// TODO: implement this
func (p *rsyncProvider) Hooks() {
}