A vendor tree can be pruned in the gap between resolving a session's path and actually reading it. The read then fails because the file no longer exists; these helpers re-resolve the session once and retry against whatever root now wins, so a live prune degrades to the mirror instead of an opaque I/O error. A second failure is surfaced as-is: one retry only.
Runs read against path. If it fails because the file vanished, evaluates reResolve once for the path to retry against and reads that, surfacing any second failure. reResolve fails with the caller's chosen error when the session no longer resolves to a usable path at all.
Runs read against path. If it fails because the file vanished, evaluates reResolve once for the path to retry against and reads that, surfacing any second failure. reResolve fails with the caller's chosen error when the session no longer resolves to a usable path at all.
Opens a stream for the session's resolved path. If reading fails because the file vanished, re-resolves once and opens the new path, surfacing any second failure. whenGone is used when nothing resolves.
Opens a stream for the session's resolved path. If reading fails because the file vanished, re-resolves once and opens the new path, surfacing any second failure. whenGone is used when nothing resolves.