35 lines
734 B
Go
35 lines
734 B
Go
package app
|
|
|
|
import (
|
|
"git.wzray.com/homelab/hivemind/internal/registry"
|
|
"git.wzray.com/homelab/hivemind/internal/transport/dns"
|
|
"git.wzray.com/homelab/hivemind/internal/transport/host"
|
|
"git.wzray.com/homelab/hivemind/internal/transport/master"
|
|
"git.wzray.com/homelab/hivemind/internal/transport/node"
|
|
"git.wzray.com/homelab/hivemind/internal/types"
|
|
)
|
|
|
|
type Clients struct {
|
|
Master *master.Client
|
|
DNS *dns.Client
|
|
Host *host.Client
|
|
Node *node.Client
|
|
}
|
|
|
|
type State struct {
|
|
Registry *registry.Registry
|
|
Self types.Node
|
|
Clients Clients
|
|
}
|
|
|
|
func NewState(
|
|
registry *registry.Registry,
|
|
self types.Node,
|
|
clients Clients,
|
|
) *State {
|
|
return &State{
|
|
Registry: registry,
|
|
Self: self,
|
|
Clients: clients,
|
|
}
|
|
}
|