Add EventOnProxyConnectionOver Reporting

This commit is contained in:
Shelikhoo 2021-12-20 13:36:22 +00:00
parent d64af31394
commit e4305a4d2b
No known key found for this signature in database
GPG key ID: C4D5E79D22B25316
2 changed files with 8 additions and 0 deletions

View file

@ -40,6 +40,7 @@ import (
"sync"
"time"
"git.torproject.org/pluggable-transports/snowflake.git/v2/common/event"
"git.torproject.org/pluggable-transports/snowflake.git/v2/common/messages"
"git.torproject.org/pluggable-transports/snowflake.git/v2/common/task"
"git.torproject.org/pluggable-transports/snowflake.git/v2/common/util"
@ -350,6 +351,11 @@ func (sf *SnowflakeProxy) makePeerConnectionFromOffer(sdp *webrtc.SessionDescrip
defer conn.lock.Unlock()
log.Println("OnClose channel")
log.Println(conn.bytesLogger.ThroughputSummary())
in, out := conn.bytesLogger.GetStat()
conn.eventLogger.OnNewSnowflakeEvent(event.EventOnProxyConnectionOver{
InboundTraffic: in,
OutboundTraffic: out,
})
conn.dc = nil
dc.Close()
pw.Close()

View file

@ -9,6 +9,7 @@ import (
"sync"
"time"
"git.torproject.org/pluggable-transports/snowflake.git/v2/common/event"
"github.com/pion/ice/v2"
"github.com/pion/sdp/v3"
"github.com/pion/webrtc/v3"
@ -30,6 +31,7 @@ type webRTCConn struct {
once sync.Once // Synchronization for PeerConnection destruction
bytesLogger bytesLogger
eventLogger event.SnowflakeEventReceiver
}
func (c *webRTCConn) Read(b []byte) (int, error) {