Open nemanja-boric-sociomantic opened 6 years ago
Timing out an individual request-on-conn has two aspects:
I'm not sure how these two things would work together.
It seems like the simplest way to implement this is as a kind of automated, per-RoC stop, using the standard Stop protocol.
As for the value of the timeout, we discussed starting out with a non-configurable sanity check timeout (60s, say). We can tweak this or make it configurable, if needed.
This would help: https://github.com/sociomantic-tsunami/swarm/issues/361
The legacy clients have implemented the algorithms for making sure that all nodes are alive and sending traffic. It is implemented via means of monitoring the events when the individual nodes finish running the request and observing the time for the remaining nodes to finish. In the case when client sees that the individual node needs a long time to complete the request, it would "timeout" and it would stop the request.
Ideally, the client should have a mean of aborting the request on a connection that seems staled, without client needing to track the individual nodes behaviours.