lux/node/lux_node.go
2025-01-18 09:32:57 +02:00

39 lines
700 B
Go

package node
import (
"lux/crypto"
"lux/net"
"lux/proto"
)
type LuxNode struct {
router net.LuxRouter
state LuxNodeState
}
func NewLuxNode(nodeKey crypto.LuxKey, ks crypto.LuxKeyStore) LuxNode {
return LuxNode{
router: net.NewLuxRouter(nodeKey, ks),
state: NewNodeState(),
}
}
func (node *LuxNode) GetRouter() *net.LuxRouter {
return &node.router
}
func (node *LuxNode) GetNodeID() proto.LuxID {
return node.GetRouter().GetThisKey().Id
}
func (node *LuxNode) AddInterior(udpAddr string) error {
return node.router.CreateInboundChannel(net.LuxChannelInterior, udpAddr)
}
func (node *LuxNode) Start() {
node.router.Start()
}
func (node *LuxNode) Stop() {
node.router.Stop()
}