smegmesh/pkg/automerge/types.go
2023-11-01 11:58:10 +00:00

18 lines
651 B
Go

package crdt
// MeshNodeCrdt: Represents a CRDT for a mesh nodes
type MeshNodeCrdt struct {
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"`
Description string `automerge:"description"`
}
// MeshCrdt: Represents the mesh network as a whole
type MeshCrdt struct {
Nodes map[string]MeshNodeCrdt `automerge:"nodes"`
}