snowflake/client/lib
David Fifield 047d3214bf Wait for data channel OnOpen before returning from NewWebRTCPeer.
Now callers cannot call Write without there being a DataChannel to write
to. This lets us remove the internal buffer and checks for transport ==
nil.

Don't set internal fields like writePipe, transport, and pc to nil when
closing; just close them and let them return errors if further calls are
made on them.

There's now a constant DataChannelTimeout that's separate from
SnowflakeTimeout (the latter is what checkForStaleness uses). Now we can
set DataChannel timeout to a lower value, to quickly dispose of
unconnectable proxies, while still keeping the threshold for detecting
the failure of a once-working proxy at 30 seconds.

https://bugs.torproject.org/33897
2020-04-27 18:48:00 -06:00
..
interfaces.go Remove SnowflakeDataChannel interface. 2020-04-27 18:48:00 -06:00
lib_test.go Eliminate separate WebRTCPeer.Connect method. 2020-04-27 18:47:59 -06:00
peers.go Remove Snowflake interface, use *WebRTCPeer directly. 2020-04-27 17:51:21 -06:00
rendezvous.go Eliminate separate WebRTCPeer.Connect method. 2020-04-27 18:47:59 -06:00
snowflake.go Wait for data channel OnOpen before returning from NewWebRTCPeer. 2020-04-27 18:48:00 -06:00
turbotunnel.go Turbo Tunnel client and server. 2020-04-23 16:02:56 -06:00
util.go Simplify BytesSyncLogger. 2020-04-23 21:38:44 -06:00
webrtc.go Wait for data channel OnOpen before returning from NewWebRTCPeer. 2020-04-27 18:48:00 -06:00