Timer in go that syncs with random nodes in the mesh every

given time interval.
This commit is contained in:
Tim Beatham
2023-10-20 12:41:06 +01:00
parent ec87afc235
commit c200544cee
16 changed files with 208 additions and 30 deletions

22
pkg/lib/conv.go Normal file
View File

@ -0,0 +1,22 @@
package lib
// MapToSlice converts a map to a slice in go
func MapValues[K comparable, V any](m map[K]V) []V {
return MapValuesWithExclude(m, map[K]struct{}{})
}
func MapValuesWithExclude[K comparable, V any](m map[K]V, exclude map[K]struct{}) []V {
values := make([]V, len(m)-len(exclude))
i := 0
for k, v := range m {
if _, excluded := exclude[k]; excluded {
continue
}
values[i] = v
i++
}
return values
}