mirror of
https://github.com/shtorm-7/sing-box-extended.git
synced 2026-09-30 11:35:40 +00:00
Improve traffic totals
This commit is contained in:
@@ -37,15 +37,9 @@ func (m *Manager) RoutedConnection(ctx context.Context, conn net.Conn, metadata
|
||||
upload := new(atomic.Int64)
|
||||
download := new(atomic.Int64)
|
||||
tracker := &connTracker{
|
||||
ExtendedConn: bufio.NewCounterConn(conn, []N.CountFunc{func(n int64) {
|
||||
upload.Add(n)
|
||||
m.uploadTotal.Add(n)
|
||||
}}, []N.CountFunc{func(n int64) {
|
||||
download.Add(n)
|
||||
m.downloadTotal.Add(n)
|
||||
}}),
|
||||
metadata: m.newTrackerMetadata(metadata, matchedRule, matchOutbound, upload, download),
|
||||
manager: m,
|
||||
ExtendedConn: bufio.NewInt64CounterConn(conn, []*atomic.Int64{upload}, []*atomic.Int64{download}),
|
||||
metadata: m.newTrackerMetadata(metadata, matchedRule, matchOutbound, upload, download),
|
||||
manager: m,
|
||||
}
|
||||
m.join(tracker)
|
||||
return tracker
|
||||
@@ -55,15 +49,9 @@ func (m *Manager) RoutedPacketConnection(ctx context.Context, conn N.PacketConn,
|
||||
upload := new(atomic.Int64)
|
||||
download := new(atomic.Int64)
|
||||
tracker := &packetConnTracker{
|
||||
PacketConn: bufio.NewCounterPacketConn(conn, []N.CountFunc{func(n int64) {
|
||||
upload.Add(n)
|
||||
m.uploadTotal.Add(n)
|
||||
}}, []N.CountFunc{func(n int64) {
|
||||
download.Add(n)
|
||||
m.downloadTotal.Add(n)
|
||||
}}),
|
||||
metadata: m.newTrackerMetadata(metadata, matchedRule, matchOutbound, upload, download),
|
||||
manager: m,
|
||||
PacketConn: bufio.NewInt64CounterPacketConn(conn, []*atomic.Int64{upload}, nil, []*atomic.Int64{download}, nil),
|
||||
metadata: m.newTrackerMetadata(metadata, matchedRule, matchOutbound, upload, download),
|
||||
manager: m,
|
||||
}
|
||||
m.join(tracker)
|
||||
return tracker
|
||||
@@ -165,12 +153,10 @@ func (t *flowTracker) AttachFlow(handle tun.FlowHandle) {
|
||||
|
||||
func (t *flowTracker) CountForward(n int) {
|
||||
t.metadata.Upload.Add(int64(n))
|
||||
t.manager.uploadTotal.Add(int64(n))
|
||||
}
|
||||
|
||||
func (t *flowTracker) CountReverse(n int) {
|
||||
t.metadata.Download.Add(int64(n))
|
||||
t.manager.downloadTotal.Add(int64(n))
|
||||
}
|
||||
|
||||
func (t *flowTracker) FlowEstablished() {
|
||||
|
||||
Reference in New Issue
Block a user