2020-07-21 11:18:47 +08:00
|
|
|
package nodes
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/TeaOSLab/EdgeNode/internal/configs"
|
2020-07-22 22:18:47 +08:00
|
|
|
"github.com/TeaOSLab/EdgeNode/internal/utils"
|
2020-07-21 11:18:47 +08:00
|
|
|
"github.com/iwind/TeaGo/logs"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var sharedNodeConfig *configs.NodeConfig = nil
|
2020-07-22 22:18:47 +08:00
|
|
|
var stop = make(chan bool)
|
2020-07-21 11:18:47 +08:00
|
|
|
|
|
|
|
|
type Node struct {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewNode() *Node {
|
|
|
|
|
return &Node{}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (this *Node) Start() {
|
2020-07-22 22:18:47 +08:00
|
|
|
// 读取配置
|
2020-07-21 11:18:47 +08:00
|
|
|
nodeConfig, err := configs.SharedNodeConfig()
|
|
|
|
|
if err != nil {
|
|
|
|
|
logs.Println("[NODE]start failed: read node config failed: " + err.Error())
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
sharedNodeConfig = nodeConfig
|
|
|
|
|
|
2020-07-22 22:18:47 +08:00
|
|
|
// 设置rlimit
|
|
|
|
|
_ = utils.SetRLimit(1024 * 1024)
|
|
|
|
|
|
|
|
|
|
// 启动端口
|
|
|
|
|
err = sharedListenerManager.Start(nodeConfig)
|
|
|
|
|
if err != nil {
|
|
|
|
|
logs.Println("[NODE]start failed: " + err.Error())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// hold住进程
|
|
|
|
|
<-stop
|
2020-07-21 11:18:47 +08:00
|
|
|
}
|