1
0
forked from extern/smegmesh

66-ipv6-address-not-confirming-to-spec

- UUID is not random just a name generator needs changing to shortuuid
- When in multiple meshes there is no wait group
This commit is contained in:
Tim Beatham 2023-12-30 22:24:43 +00:00
parent 2e6aed6f93
commit 6954608c32
2 changed files with 24 additions and 4 deletions

View File

@ -3,6 +3,7 @@ package lib
import (
"github.com/anandvarma/namegen"
"github.com/google/uuid"
"github.com/lithammer/shortuuid"
)
// IdGenerator generates unique ids
@ -19,6 +20,14 @@ func (g *UUIDGenerator) GetId() (string, error) {
return id.String(), nil
}
type ShortIDGenerator struct {
}
func (g *ShortIDGenerator) GetId() (string, error) {
id := shortuuid.New()
return id, nil
}
type IDNameGenerator struct {
}

View File

@ -4,6 +4,7 @@ import (
"fmt"
"io"
"math/rand"
"sync"
"time"
"github.com/tim-beatham/wgmesh/pkg/conf"
@ -169,12 +170,22 @@ func (s *SyncerImpl) Pull(self mesh.MeshNode, mesh mesh.MeshProvider) error {
// SyncMeshes: Sync all meshes
func (s *SyncerImpl) SyncMeshes() error {
for _, mesh := range s.manager.GetMeshes() {
err := s.Sync(mesh)
var wg sync.WaitGroup
if err != nil {
logging.Log.WriteErrorf(err.Error())
for _, mesh := range s.manager.GetMeshes() {
wg.Add(1)
sync := func() {
defer wg.Done()
err := s.Sync(mesh)
if err != nil {
logging.Log.WriteErrorf(err.Error())
}
}
go sync()
}
logging.Log.WriteInfof("updating the WireGuard configuration")