Prior to this commit, if the WebSocket client received multiple
WebSocket frames in a single Erlang message by gen_tcp, the WebSocket
client sent only the first received WebSocket frame to the application.
This commit fixes this bug by having the WebSocket client send all
WebSocket frames to the application.
[Why]
Exactly like in commit b165adb958, we
don't need to wait indefinitely for a channel to open. If it lasts,
there is a problem.
There is probably a weakness/bug in that basic channels manager that
would explain those indefinite operations though.
We see sporadic test failures where a test case hangs in the
receive until the Bazel suite timeout is reached.
There is no point in a test case to wait forever for an AMQP 0.9.1
connection to establish. Let's time out after 1 minute.
This will make the test case fail faster.
Before this commit, when a client consumes from a quorum queue and
rejects many messages, the order in which the messages got dead-lettered
is not the same as the order in which the messages got rejected.
Classic queues already maintain the order.
in some tests, e.g. eager_sync_SUITE, this may not always be the case.
In general, it is quite reasonable for a test to not consume every single message
available, too.
I didn't find any evidence the previous code was broken; I suspected
this, but the problem was elsewhere. But this way, we are even safer.
[#149584741]
It was changed from infinity to 30 seconds in the Erlang client in
commit 2e7586145a50fbe4e41952149e113543df6739ef, as part of #147178169.
Unfortunately, this broke several testcases which have to wait for
confirms for more thant 30 seconds.