1
0
forked from extern/smegmesh

Added sync

This commit is contained in:
Tim Beatham
2023-10-10 20:14:40 +01:00
parent e729c5b181
commit ec87afc235
16 changed files with 794 additions and 41 deletions

46
pkg/sync/syncscheduler.go Normal file
View File

@@ -0,0 +1,46 @@
package sync
import (
"time"
"github.com/tim-beatham/wgmesh/pkg/ctrlserver"
)
// SyncScheduler: Loops through all nodes in the mesh and runs a schedule to
// sync each event
type SyncScheduler interface {
Run() error
Stop() error
}
type SyncSchedulerImpl struct {
quit chan struct{}
server *ctrlserver.MeshCtrlServer
}
// Run implements SyncScheduler.
func (s *SyncSchedulerImpl) Run() error {
ticker := time.NewTicker(time.Second)
quit := make(chan struct{})
s.quit = quit
for {
select {
case <-ticker.C:
break
case <-quit:
break
}
}
}
// Stop implements SyncScheduler.
func (s *SyncSchedulerImpl) Stop() error {
close(s.quit)
return nil
}
func NewSyncScheduler(s *ctrlserver.MeshCtrlServer) SyncScheduler {
return &SyncSchedulerImpl{server: s}
}