Opens the remote object at the given
path relative to the given
dir with the given
synchronously, and on success, binds that channel to a file descriptor and returns it.
dir must be backed by a directory protocol channel (even though it is
wrapped in a std::fs::File).