EOD update: I'm working on a bounded fix for the agent-lost issue in isolation, and I should be able to push it tomorrow.
The fix will wrap the Pinger in a new worker, which is responsible for starting fresh Pingers when anything goes wrong, but the technique is not generally applicable -- the Pinger resource is (uniquely?) not actually *used* as a resource by anything else, and is only in the resource pool so it'll get shut down when the conn drops for whatever reason.
EOD update: I'm working on a bounded fix for the agent-lost issue in isolation, and I should be able to push it tomorrow.
The fix will wrap the Pinger in a new worker, which is responsible for starting fresh Pingers when anything goes wrong, but the technique is not generally applicable -- the Pinger resource is (uniquely?) not actually *used* as a resource by anything else, and is only in the resource pool so it'll get shut down when the conn drops for whatever reason.