Skip to content

Commit

Permalink
add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
aler9 committed Jul 3, 2024
1 parent 0077ff6 commit ac83781
Showing 1 changed file with 62 additions and 0 deletions.
62 changes: 62 additions & 0 deletions listen_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -435,3 +435,65 @@ func TestListenAsync(t *testing.T) {
ln.Close()
listenerWg.Wait()
}

func TestListenParallelRequests(t *testing.T) {
ln, err := Listen("srt", "127.0.0.1:6003", DefaultConfig())
require.NoError(t, err)

listenDone := make(chan struct{})

var reqReady sync.WaitGroup
reqReady.Add(4)

var serverSideConnReady sync.WaitGroup
serverSideConnReady.Add(4)

go func() {
defer close(listenDone)

for {
req, err := ln.Accept2()
if err != nil {
break
}

reqReady.Done()

go func() {
defer serverSideConnReady.Done()

// wait for all requests to be pending
reqReady.Wait()

conn, err := req.Accept()
require.NoError(t, err)
conn.Close()
}()
}
}()

var clientSideConnReady sync.WaitGroup

for i := 0; i < 4; i++ {
clientSideConnReady.Add(1)

go func() {
defer clientSideConnReady.Done()

config := DefaultConfig()
config.StreamId = "foobar"

conn, err := Dial("srt", "127.0.0.1:6003", config)
require.NoError(t, err)

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

serverSideConnReady.Wait()
clientSideConnReady.Wait()

ln.Close()
<-listenDone
}

0 comments on commit ac83781

Please sign in to comment.