mirror of
https://github.com/tim-beatham/smegmesh.git
synced 2025-06-20 19:57:49 +02:00
Added JMESpath to query the state of specific
meshes.
This commit is contained in:
parent
e56780fdd4
commit
aa3d40f82c
@ -2,15 +2,15 @@ package crdt
|
||||
|
||||
// MeshNodeCrdt: Represents a CRDT for a mesh nodes
|
||||
type MeshNodeCrdt struct {
|
||||
HostEndpoint string `automerge:"hostEndpoint" json:"hostEndpoint"`
|
||||
WgEndpoint string `automerge:"wgEndpoint" json:"wgEndpoint"`
|
||||
PublicKey string `automerge:"publicKey" json:"publicKey"`
|
||||
WgHost string `automerge:"wgHost" json:"wgHost"`
|
||||
Timestamp int64 `automerge:"timestamp" json:"timestamp"`
|
||||
Routes map[string]interface{} `automerge:"routes" json:"routes"`
|
||||
HostEndpoint string `automerge:"hostEndpoint"`
|
||||
WgEndpoint string `automerge:"wgEndpoint"`
|
||||
PublicKey string `automerge:"publicKey"`
|
||||
WgHost string `automerge:"wgHost"`
|
||||
Timestamp int64 `automerge:"timestamp"`
|
||||
Routes map[string]interface{} `automerge:"routes"`
|
||||
}
|
||||
|
||||
// MeshCrdt: Represents the mesh network as a whole
|
||||
type MeshCrdt struct {
|
||||
Nodes map[string]MeshNodeCrdt `automerge:"nodes" json:"nodes"`
|
||||
Nodes map[string]MeshNodeCrdt `automerge:"nodes"`
|
||||
}
|
||||
|
@ -43,3 +43,15 @@ func MapKeys[K comparable, V any](m map[K]V) []K {
|
||||
|
||||
return values
|
||||
}
|
||||
|
||||
type convert[V1 any, V2 any] func(V1) V2
|
||||
|
||||
func Map[V1 any, V2 any](list []V1, f convert[V1, V2]) []V2 {
|
||||
newList := make([]V2, len(list))
|
||||
|
||||
for i, elem := range list {
|
||||
newList[i] = f(elem)
|
||||
}
|
||||
|
||||
return newList
|
||||
}
|
||||
|
@ -87,10 +87,12 @@ func (s *SyncServiceImpl) SyncMesh(stream rpc.SyncService_SyncMeshServer) error
|
||||
if syncer != nil {
|
||||
syncer.Complete()
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func NewSyncService(server *ctrlserver.MeshCtrlServer) *SyncServiceImpl {
|
||||
return &SyncServiceImpl{Server: server}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user