端口分配时加锁;网关上线后保存平台恢复的节点与授权数据;现在新节点连接后会按需向平台报告更新

This commit is contained in:
2025-05-27 16:03:00 +08:00
parent c2dcae7af5
commit 48dba2c0c3
11 changed files with 137 additions and 135 deletions

View File

@@ -24,7 +24,7 @@ func Permit(ctx *fiber.Ctx) (err error) {
// 保存授权配置
for _, permit := range *req {
app.Permits.Store(permit.Id, &permit.Permit)
app.StorePermit(&permit)
}
return nil

View File

@@ -17,7 +17,7 @@ type InfoResp struct {
// Edges []EdgeResp `json:"edges"`
Assigns map[uint16]int32 `json:"assigns"`
Edges map[int32]uint16 `json:"edges"`
Edges map[int32]*core.Edge `json:"edges"`
Permits map[int32]*core.Permit `json:"permits"`
}
@@ -29,30 +29,15 @@ type EdgeResp struct {
func Info(c *fiber.Ctx) error {
// var edges = make([]EdgeResp, 0)
// app.Edges.Range(func(id int32, port uint16) bool {
// permit, ok := app.Permits.Load(id)
// if !ok {
// return true
// }
//
// edges = append(edges, EdgeResp{
// Id: id,
// Port: port,
// Permit: permit,
// })
// return true
// })
var assigns = make(map[uint16]int32)
app.Assigns.Range(func(port uint16, id int32) bool {
assigns[port] = id
return true
})
var edges = make(map[int32]uint16)
app.Edges.Range(func(id int32, port uint16) bool {
edges[id] = port
var edges = make(map[int32]*core.Edge)
app.Edges.Range(func(id int32, edge *core.Edge) bool {
edges[id] = edge
return true
})