[#zimic] Added an implementation to abort waiting for a web socket RPC reply if the worker was stopped. This was related to a very uncommon scenario where:
A worker was registered to the interceptor server;
The interceptor server received a response and sent an RPC to the worker to get the response;
The worker was stopped before it could reply with the response;
The interceptor server would wait for a reply until timing out after 5 minutes.
This PR changes the behavior so that interceptor workers can know immediately which workers are no longer committed to generate responses and abort waiting for their replies. In that case, the pending requests will be rejected as if they had no associated worker.
Refactoring
[#zimic] Improved the structure of web socket clients, servers and tests.
[#zimic] Removed an unnecessary message timeout when sending web socket messages. The API socket.send(message) is synchronous and there is no way to really wait for the message to be sent both in browser and Node.js.
Chore
[#zimic] Decreased the web socket message timeout to 3 minutes.
Fixes
Refactoring
socket.send(message)
is synchronous and there is no way to really wait for the message to be sent both in browser and Node.js.Chore
Closes #289.