Skip to content

Commit

Permalink
update pion
Browse files Browse the repository at this point in the history
  • Loading branch information
ckousik committed Dec 6, 2022
1 parent 8709645 commit ff3ef16
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 12 deletions.
1 change: 0 additions & 1 deletion p2p/transport/webrtc/datachannel.go
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,6 @@ func (d *dataChannel) readLoop() {
var msg pb.Message
err := d.reader.ReadMsg(&msg)
if err != nil {
log.Errorf("[channel %d] could not read message: %v", *d.channel.ID(), err)
return
}

Expand Down
12 changes: 3 additions & 9 deletions p2p/transport/webrtc/udpmux/mux.go
Original file line number Diff line number Diff line change
Expand Up @@ -170,17 +170,11 @@ func (mux *udpMux) readLoop() {
}
}

func (mux *udpMux) hasConn(ufrag string) net.PacketConn {
func (mux *udpMux) hasConn(ufrag string, isIPv6 bool) net.PacketConn {
mux.mu.Lock()
defer mux.mu.Unlock()

for _, isIPv6 := range []bool{true, false} {
key := ufragConnKey{ufrag: ufrag, isIPv6: isIPv6}
if conn, ok := mux.ufragMap[key]; ok {
return conn
}
}
return nil
key := ufragConnKey{ufrag: ufrag, isIPv6: isIPv6}
return mux.ufragMap[key]
}

func ufragFromStunMessage(msg *stun.Message, local_ufrag bool) (string, error) {
Expand Down
20 changes: 18 additions & 2 deletions p2p/transport/webrtc/udpmux/mux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,33 @@ func (dummyPacketConn) WriteTo(p []byte, addr net.Addr) (n int, err error) {
return 0, nil
}

func TestUDPMux_GetConn(t *testing.T) {
mux := NewUDPMux(dummyPacketConn{}, nil)
m := mux.(*udpMux)
require.Nil(t, m.hasConn("test", false))
conn, err := mux.GetConn("test", false)
require.NoError(t, err)
require.NotNil(t, conn)

require.Nil(t, m.hasConn("test", true))
connv6, err := mux.GetConn("test", true)
require.NoError(t, err)
require.NotNil(t, connv6)

require.NotEqual(t, conn, connv6)
}

func TestUDPMux_RemoveConnectionOnClose(t *testing.T) {
mux := NewUDPMux(dummyPacketConn{}, nil)
conn, err := mux.GetConn("test", false)
require.NoError(t, err)
require.NotNil(t, conn)

m := mux.(*udpMux)
require.NotNil(t, m.hasConn("test"))
require.NotNil(t, m.hasConn("test", false))

err = conn.Close()
require.NoError(t, err)

require.Nil(t, m.hasConn("test"))
require.Nil(t, m.hasConn("test", false))
}

0 comments on commit ff3ef16

Please sign in to comment.