On 26-Oct-07, at 11:35 AM, Victor Grey wrote:
> 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.
My point exactly but in the spec says go back to *b and continue with
the next ref in priority order.
>
> 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.
>
Another issue I have raised is that if a XRD has a ref at the XRD
level no SEPS are processed in that XRD. So if by other refs in *c
you mean a ref in the default service then yes.
=ve7jtb
> =vg
>
>
>