From 66a767d083fd37b3cd071466636e645bfc96bc96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Thu, 24 Jul 2025 12:22:13 +0800 Subject: [PATCH] Fix ssm-api --- service/ssmapi/traffic.go | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/service/ssmapi/traffic.go b/service/ssmapi/traffic.go index 7f3f103e..23a034c1 100644 --- a/service/ssmapi/traffic.go +++ b/service/ssmapi/traffic.go @@ -50,12 +50,24 @@ func (s *TrafficManager) UpdateUsers(users []string) { newUserTCPSessions := make(map[string]*atomic.Int64) newUserUDPSessions := make(map[string]*atomic.Int64) for _, user := range users { - newUserUplink[user] = s.userUplinkPackets[user] - newUserDownlink[user] = s.userDownlinkPackets[user] - newUserUplinkPackets[user] = s.userUplinkPackets[user] - newUserDownlinkPackets[user] = s.userDownlinkPackets[user] - newUserTCPSessions[user] = s.userTCPSessions[user] - newUserUDPSessions[user] = s.userUDPSessions[user] + if counter, loaded := s.userUplink[user]; loaded { + newUserUplink[user] = counter + } + if counter, loaded := s.userDownlink[user]; loaded { + newUserDownlink[user] = counter + } + if counter, loaded := s.userUplinkPackets[user]; loaded { + newUserUplinkPackets[user] = counter + } + if counter, loaded := s.userDownlinkPackets[user]; loaded { + newUserDownlinkPackets[user] = counter + } + if counter, loaded := s.userTCPSessions[user]; loaded { + newUserTCPSessions[user] = counter + } + if counter, loaded := s.userUDPSessions[user]; loaded { + newUserUDPSessions[user] = counter + } } s.userUplink = newUserUplink s.userDownlink = newUserDownlink