commit dcb901e4086636b3ed3248096021f23bb4363cda
Author: Arlo Breault <[email protected]>
Date:   Tue Jan 19 13:41:19 2016 -0800

    Use chan struct{} instead
    
     * Similar to a77ae6b771e5550b3a5370f7b1f2c0e434f4e9eb.
---
 server/snowflake.go |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/server/snowflake.go b/server/snowflake.go
index 88eecca..1da419f 100644
--- a/server/snowflake.go
+++ b/server/snowflake.go
@@ -100,12 +100,12 @@ func datachannelHandler(conn *webRTCConn) {
 }
 
 // Create a PeerConnection from an SDP offer. Blocks until the gathering of ICE
-// candidates is complete and and answer is available in LocalDescription.
+// candidates is complete and the answer is available in LocalDescription.
 // Installs an OnDataChannel callback that creates a webRTCConn and passes it 
to
 // datachannelHandler.
 func makePeerConnectionFromOffer(sdp *webrtc.SessionDescription, config 
*webrtc.Configuration) (*webrtc.PeerConnection, error) {
        errChan := make(chan error)
-       answerChan := make(chan *webrtc.SessionDescription)
+       answerChan := make(chan struct{})
 
        pc, err := webrtc.NewPeerConnection(config)
        if err != nil {
@@ -115,7 +115,7 @@ func makePeerConnectionFromOffer(sdp 
*webrtc.SessionDescription, config *webrtc.
                panic("OnNegotiationNeeded")
        }
        pc.OnIceComplete = func() {
-               answerChan <- pc.LocalDescription()
+               answerChan <- struct{}{}
        }
        pc.OnDataChannel = func(dc *data.Channel) {
                log.Println("OnDataChannel")
@@ -170,7 +170,11 @@ func makePeerConnectionFromOffer(sdp 
*webrtc.SessionDescription, config *webrtc.
        case err = <-errChan:
                pc.Close()
                return nil, err
-       case <-answerChan:
+       case _, ok := <-answerChan:
+               if !ok {
+                       pc.Close()
+                       return nil, fmt.Errorf("Failed gathering ICE 
candidates.")
+               }
        }
 
        return pc, nil

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

Reply via email to