新增节点下线更新函数,节点断联后提交节点状态更新;重命名边缘节点相关函数以提高可读性;调整节点更新通知通道大小
This commit is contained in:
@@ -28,11 +28,11 @@ var (
|
||||
UserConnWg utils.CountWaitGroup // 用户连接计数器
|
||||
UserConnMap core.SyncMap[string, *core.Conn] // 用户连接暂存
|
||||
|
||||
LockPortAssign = sync.Mutex{} // 锁定端口分配,防止并发冲突
|
||||
EdgeUpdates = make(chan *core.Edge, 1000) // 节点更新通知通道
|
||||
LockPortAssign = sync.Mutex{} // 锁定端口分配,防止并发冲突
|
||||
EdgeUpdates = make(chan *core.Edge, 100) // 节点更新通知通道
|
||||
)
|
||||
|
||||
func NewEdge(id int32, port uint16, addr *net.TCPAddr) error {
|
||||
func OnlineEdgeNew(id int32, port uint16, addr *net.TCPAddr) error {
|
||||
if addr == nil {
|
||||
return fmt.Errorf("边缘节点 %d 地址无效", id)
|
||||
}
|
||||
@@ -59,7 +59,7 @@ func NewEdge(id int32, port uint16, addr *net.TCPAddr) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func TryUpdateEdge(id int32, addr *net.TCPAddr) error {
|
||||
func OnlineEdgeUpdate(id int32, addr *net.TCPAddr) error {
|
||||
if addr == nil {
|
||||
return fmt.Errorf("边缘节点 %d 地址无效", id)
|
||||
}
|
||||
@@ -85,6 +85,21 @@ func TryUpdateEdge(id int32, addr *net.TCPAddr) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func OfflineEdge(id int32) error {
|
||||
edge, ok := Edges.Load(id)
|
||||
if !ok || edge == nil {
|
||||
return fmt.Errorf("边缘节点 %d 不存在", id)
|
||||
}
|
||||
|
||||
*edge.Status = core.EdgeOffline
|
||||
EdgeUpdates <- &core.Edge{
|
||||
Id: id,
|
||||
Status: &core.EdgeOffline,
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func StoreEdge(edge *core.Edge) error {
|
||||
if edge == nil || edge.Id == 0 || edge.Port == nil {
|
||||
return fmt.Errorf("无效的边缘节点: %+v", edge)
|
||||
|
||||
Reference in New Issue
Block a user