[tor-commits] [snowflake/main] Add PT Event Logger

shelikhoo at torproject.org shelikhoo at torproject.org
Tue Jan 25 12:50:37 UTC 2022


commit ac64d17705a48cb6ace310503e14b62c629655d6
Author: Shelikhoo <xiaokangwang at outlook.com>
Date:   Mon Dec 13 15:39:59 2021 +0000

    Add PT Event Logger
---
 client/lib/pt_event_logger.go | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/client/lib/pt_event_logger.go b/client/lib/pt_event_logger.go
new file mode 100644
index 0000000..b183005
--- /dev/null
+++ b/client/lib/pt_event_logger.go
@@ -0,0 +1,43 @@
+package snowflake_client
+
+import (
+	"fmt"
+
+	pt "git.torproject.org/pluggable-transports/goptlib.git"
+	"git.torproject.org/pluggable-transports/snowflake.git/v2/common/event"
+)
+
+func NewPTEventLogger() event.SnowflakeEventReceiver {
+	return &ptEventLogger{}
+}
+
+type ptEventLogger struct {
+}
+
+func (p ptEventLogger) OnNewSnowflakeEvent(e event.SnowflakeEvent) {
+	switch e.(type) {
+	case event.EventOnOfferCreated:
+		e := e.(event.EventOnOfferCreated)
+		if e.Error != nil {
+			pt.Log(pt.LogSeverityError, fmt.Sprintf("offer creation failure %v", e.Error.Error()))
+		} else {
+			pt.Log(pt.LogSeverityNotice, fmt.Sprintf("offer created %v", e.WebRTCLocalDescription))
+		}
+
+	case event.EventOnBrokerRendezvous:
+		e := e.(event.EventOnBrokerRendezvous)
+		if e.Error != nil {
+			pt.Log(pt.LogSeverityError, fmt.Sprintf("broker failure %v", e.Error.Error()))
+		} else {
+			pt.Log(pt.LogSeverityNotice, fmt.Sprintf("broker rendezvous peer %v", e.WebRTCRemoteDescription))
+		}
+
+	case event.EventOnSnowflakeConnected:
+		pt.Log(pt.LogSeverityNotice, fmt.Sprintf("connected"))
+
+	case event.EventOnSnowflakeConnectionFailed:
+		e := e.(event.EventOnSnowflakeConnectionFailed)
+		pt.Log(pt.LogSeverityError, fmt.Sprintf("connection failed %v", e.Error.Error()))
+	}
+
+}





More information about the tor-commits mailing list