>> 3. High-level Protocol Flow, last bullet point. "The hub caches
>> minimal metadata..." I read this a few times and it seems to be
>> describing one particular implementation strategy.  If so, why not say
>> so?  The current language makes it look like this is maybe a normative
>> part of what you have to do to implement PuSH, which I'm pretty sure
>> it isn't.
>
> I think this is intended to be normative. A stateless hub can't
> function properly (doing feed diffs). The language here was chosen
> specifically to imply stateful handling of content without dictating
> the specific implementation.

In fact, what you're specifying is that the hub MUST be able to detect
a delta so it can inform subscribers.  Normative text should specify
policy not mechanism.

This touches on a nasty subject that you probably don't want to go
near.  If I were implementing, I think it might be perfectly OK to
stash just atom:feed/atom:updated and //atom:entry/atom:updated.

I am quite sure there are others who would disagree & insist on
stashing enough to detect differences in the white space between
attribute values.  Don't laugh, I speak from bitter experience.  If
there's one thing we learned in the process of building 4287, it is
hopeless to expect consensus on what constitutes an "update".  I have
a thousand emails to show you if you disagree.

So I think it's probably inappropriate to specify "minimal" metadata.
Just say "The hub stores sufficient state information about each topic
to detect changes so that it can notify subscribers."  -T

Reply via email to