Avoid double delay in client from ReconnectTimeout

Run the snowflake collection ReconnectTimeout timer in parallel to the
negotiation with the broker. This way, if the broker takes a long time
to respond the client doesn't have to wait the full timeout to respond.
4 jobs for master in 5 minutes and 28 seconds (queued for 6 minutes and 27 seconds)
Status Name Job ID Coverage
  Test
failed android #6674

00:01:07

failed debian-testing #6677

00:03:16

failed go-1.13 #6675

00:00:34

failed go-1.14 #6676

00:00:29

 
Name Stage Failure
failed
debian-testing Test
# git.torproject.org/pluggable-transports/snowflake.git/client
client/snowflake.go:31:89: socksAcceptLoop passes lock by value: sync.WaitGroup contains sync.noCopy
client/snowflake.go:190:45: call of socksAcceptLoop copies lock value: sync.WaitGroup contains sync.noCopy
Running after_script
Running after script...
$ echo "Download debug artifacts from https://gitlab.com/${CI_PROJECT_PATH}/-/jobs"
Download debug artifacts from https://gitlab.com/tpo/anti-censorship/pluggable-transports/snowflake/-/jobs
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
go-1.14 Test
# git.torproject.org/pluggable-transports/snowflake.git/client
client/snowflake.go:31:89: socksAcceptLoop passes lock by value: sync.WaitGroup contains sync.noCopy
client/snowflake.go:190:45: call of socksAcceptLoop copies lock value: sync.WaitGroup contains sync.noCopy
Running after_script
Running after script...
$ echo "Download debug artifacts from https://gitlab.com/${CI_PROJECT_PATH}/-/jobs"
Download debug artifacts from https://gitlab.com/tpo/anti-censorship/pluggable-transports/snowflake/-/jobs
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
go-1.13 Test
# git.torproject.org/pluggable-transports/snowflake.git/client
client/snowflake.go:31:89: socksAcceptLoop passes lock by value: sync.WaitGroup contains sync.noCopy
client/snowflake.go:190:45: call of socksAcceptLoop copies lock value: sync.WaitGroup contains sync.noCopy
Running after_script
Running after script...
$ echo "Download debug artifacts from https://gitlab.com/${CI_PROJECT_PATH}/-/jobs"
Download debug artifacts from https://gitlab.com/tpo/anti-censorship/pluggable-transports/snowflake/-/jobs
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
android Test
# git.torproject.org/pluggable-transports/snowflake.git/client
client/snowflake.go:31:89: socksAcceptLoop passes lock by value: sync.WaitGroup contains sync.noCopy
client/snowflake.go:190:45: call of socksAcceptLoop copies lock value: sync.WaitGroup contains sync.noCopy
Running after_script
Running after script...
$ echo "Download debug artifacts from https://gitlab.com/${CI_PROJECT_PATH}/-/jobs"
Download debug artifacts from https://gitlab.com/tpo/anti-censorship/pluggable-transports/snowflake/-/jobs
Cleaning up file based variables
ERROR: Job failed: exit code 1