Tan, William wrote:
> 1. Authority resolution and service selection are distinct phases.
> When authority resolution completes, it is done and returns the
> result to the calling function. It might be at the 3rd Ref out of 5
> possible Refs, and there is no way to continue where it left off.
> 2. During service selection, if you see a Ref, you will spawn a
> different authority resolution phase, but that has nothing to do
> with the original authority resolution. This child authority
> resolution phase also knows nothing about service selection. It
> completes, and returns (if successful) the results back to the
> caller, which is the service selection function. If this child
> authority resolution phase fails and there are more Refs, the
> service selection function will spawn another authority resolution
> phase on the next Ref.
Yes, well said, and that matches my understanding.
John Bradley wrote:
> This is the tricky bit. I am informed that the current spec sec
> 11.5 intends that if the final XRD is returned and you do service
> selection on it, and if that "does not" find the required SEP then
> you must unwind back to the same point that you would have if the
> XRD was not returned.
So, are you saying that if I resolve @a*b*c and the XRD for *c does
not contain the SEP I'm looking for, nor any REFs, I should go back
and look in *b for that SEP? That would not make any sense to me.
If however I follow an XRD level REF that I found in *c, and do not
find the SEP I'm looking for in the last XRD for -that- resolution
chain, I can go and examine any other REFs that I might have found in
*c. But once I start following REFs, I cannot backtrack to before the
XRD where I started following REFs.
=vg