mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
style(ios): устранить замечания gosec/revive
- безопасная конверсия uint64→int64 (clampToInt64) для счётчиков, экспортируемых через gomobile, чтобы не ловить G115; - анонимный ресивер у bufLogger.write (unused-receiver).
This commit is contained in:
+1
-1
@@ -47,7 +47,7 @@ func ClearLogs() { sharedLogBuf.clear() }
|
||||
// bufLogger реализует logx.Logger, пишет в stderr и в sharedLogBuf.
|
||||
type bufLogger struct{ debug bool }
|
||||
|
||||
func (l *bufLogger) write(level, format string, v ...any) {
|
||||
func (*bufLogger) write(level, format string, v ...any) {
|
||||
msg := fmt.Sprintf(format, v...)
|
||||
line := time.Now().Format("15:04:05") + " [" + level + "] " + msg
|
||||
log.Print("[" + level + "] " + msg)
|
||||
|
||||
+13
-2
@@ -7,6 +7,7 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"math"
|
||||
"net"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
@@ -68,6 +69,16 @@ var (
|
||||
|
||||
func setStatus(s *statusInfo) { statusVal.Store(s) }
|
||||
|
||||
// clampToInt64 насыщает uint64 до int64: gomobile экспортирует только int64,
|
||||
// а счётчики байт — uint64. Реальный трафик до math.MaxInt64 не доходит, но
|
||||
// насыщение делает конверсию безопасной от переполнения.
|
||||
func clampToInt64(u uint64) int64 {
|
||||
if u > math.MaxInt64 {
|
||||
return math.MaxInt64
|
||||
}
|
||||
return int64(u)
|
||||
}
|
||||
|
||||
// GetState возвращает текущий снимок состояния сессии: стадию подключения
|
||||
// плюс статистику трафика, собранные на чтении из внутренних атомиков.
|
||||
func GetState() *Snapshot {
|
||||
@@ -81,8 +92,8 @@ func GetState() *Snapshot {
|
||||
Streams: st.streams,
|
||||
Total: st.total,
|
||||
ErrMsg: st.errMsg,
|
||||
TxTotal: int64(tx),
|
||||
RxTotal: int64(rx),
|
||||
TxTotal: clampToInt64(tx),
|
||||
RxTotal: clampToInt64(rx),
|
||||
TxRate: globalTxRate.Load(),
|
||||
RxRate: globalRxRate.Load(),
|
||||
}
|
||||
|
||||
+2
-2
@@ -37,8 +37,8 @@ func startRateMeter(ctx context.Context) {
|
||||
prevTx, prevRx = tx, rx
|
||||
continue
|
||||
}
|
||||
globalTxRate.Store(int64(tx - prevTx))
|
||||
globalRxRate.Store(int64(rx - prevRx))
|
||||
globalTxRate.Store(clampToInt64(tx - prevTx))
|
||||
globalRxRate.Store(clampToInt64(rx - prevRx))
|
||||
prevTx, prevRx = tx, rx
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user