TUN-3777: Fix /ready endpoint for classic tunnels

Classic tunnels flow was triggering an event for RegisteringTunnel for
every connection that was about to be established, and then a Connected
event for every connection established.

However, the RegistreringTunnel event had no connection ID, always
causing it to unset/disconnect the 0th connection making the /ready
endpoint report incorrect numbers for classic tunnels.
This commit is contained in:
Nuno Diegues
2021-01-19 12:20:11 +00:00
parent ffac598fab
commit 2d0b86f2e4
5 changed files with 18 additions and 9 deletions

View File

@@ -53,13 +53,13 @@ func TestObserverEventsDontBlock(t *testing.T) {
}))
timeout := time.AfterFunc(5*time.Second, func() {
mu.Unlock() // release the callback on timer expiration
mu.Unlock() // release the callback on timer expiration
t.Fatal("observer is blocked")
})
mu.Lock() // block the callback
for i := 0; i < 2 * observerChannelBufferSize; i++ {
observer.sendRegisteringEvent()
mu.Lock() // block the callback
for i := 0; i < 2*observerChannelBufferSize; i++ {
observer.sendRegisteringEvent(0)
}
if pending := timeout.Stop(); pending {
// release the callback if timer hasn't expired yet