commit 75f770150d6c9943231cb6b8bde0b867137ea26f
Author: Shelikhoo <[email protected]>
Date:   Fri Nov 26 15:12:46 2021 +0000

    Add Snowflake Event API interface
---
 common/event/interface.go | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/common/event/interface.go b/common/event/interface.go
new file mode 100644
index 0000000..697f2b7
--- /dev/null
+++ b/common/event/interface.go
@@ -0,0 +1,45 @@
+package event
+
+import "github.com/pion/webrtc/v3"
+
+type SnowflakeEvent interface {
+       IsSnowflakeEvent()
+       String() string
+}
+
+type EventOnOfferCreated struct {
+       SnowflakeEvent
+       WebRTCLocalDescription *webrtc.SessionDescription
+       Error                  error
+}
+
+type EventOnBrokerRendezvous struct {
+       SnowflakeEvent
+       WebRTCRemoteDescription *webrtc.SessionDescription
+       Error                   error
+}
+
+type EventOnSnowflakeConnected struct {
+       SnowflakeEvent
+}
+
+type EventOnSnowflakeConnectionFailed struct {
+       SnowflakeEvent
+       Error error
+}
+
+type SnowflakeEventReceiver interface {
+       // OnNewSnowflakeEvent notify receiver about a new event
+       // This method MUST not block
+       OnNewSnowflakeEvent(event SnowflakeEvent)
+}
+
+type SnowflakeEventDispatcher interface {
+       SnowflakeEventReceiver
+       // AddSnowflakeEventListener allow receiver(s) to receive event 
notification
+       // when OnNewSnowflakeEvent is called on the dispatcher.
+       // Every event listener added will be called when an event is received 
by the dispatcher.
+       // The order each listener is called is undefined.
+       AddSnowflakeEventListener(receiver SnowflakeEventReceiver)
+       RemoveSnowflakeEventListener(receiver SnowflakeEventReceiver)
+}



_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to