[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #28942 [Circumvention/Snowflake]: Evaluate pion WebRTC
#28942: Evaluate pion WebRTC
-------------------------------------+-------------------------------
Reporter: backkem | Owner: cohosh
Type: enhancement | Status: accepted
Priority: Medium | Milestone:
Component: Circumvention/Snowflake | Version:
Severity: Normal | Resolution:
Keywords: ex-sponsor-19 | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor: Sponsor28-can
-------------------------------------+-------------------------------
Comment (by cohosh):
Finished porting the client to pion/webrtc:
https://github.com/cohosh/snowflake/commit/6bbb9a4b820f34aef4d45c14acff72374307da5e
Most of the changes were small, but there were some tricky differences to
work around:
- `OnNegotiationNeeded` is no longer supported, but putting the code from
that callback into a go routine and calling it immediately after creation
of the PeerConnection seems to work just fine.
- By default, something called the
"[https://godoc.org/github.com/pion/webrtc#SettingEngine.SetTrickle
trickle method]" is set to false, which means the
`OnICEGatheringStateChange` callback never gets called (see
[https://github.com/pion/webrtc/blob/master/icegatherer.go#L262
icegatherer.go#L262] vs
[https://github.com/pion/webrtc/blob/master/icegatherer.go#L143
icegatherer.go#L143]). We get around this by using a SettingEngine
[https://github.com/cohosh/snowflake/blob/6bbb9a4b820f34aef4d45c14acff72374307da5e/client/lib/webrtc.go#L157
here], but it was a bit confusing. The default API should probably have
isTrickle set to `true` by default.
- `OnICECandidate` returns a `nil` candidate when gathering is complete.
This isn't really a problem but I got a silent failure when i didn't check
for it. It would be nice if this behaviour was documented in the GoDocs.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28942#comment:28>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs