// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . //go:build plus package nodes import ( "github.com/TeaOSLab/EdgeNode/internal/stats" "sync/atomic" ) type HTTP3ConnNotifier struct { conn *HTTP3Conn } func NewHTTP3ConnNotifier(conn *HTTP3Conn) *HTTP3ConnNotifier { return &HTTP3ConnNotifier{ conn: conn, } } func (this *HTTP3ConnNotifier) ReadBytes(bytes int) { } func (this *HTTP3ConnNotifier) WriteBytes(bytes int) { if this.conn != nil && this.conn.ServerId() > 0 { stats.SharedBandwidthStatManager.AddBandwidth(this.conn.UserId(), this.conn.UserPlanId(), this.conn.ServerId(), int64(bytes), int64(bytes)) if this.conn.BaseClientConn != nil { atomic.AddInt64(&this.conn.BaseClientConn.totalSentBytes, int64(bytes)) } } } func (this *HTTP3ConnNotifier) Close() { this.conn.NotifyClose() }