On 4/7/11 8:50 AM, "Kevin Smith" wrote:
>>
>> > time='this was the last time I was online, and I cached all important
>> state'/>
>>
> Ah. The problem here being that you can't use timestamps as UIDs, right?
It doesn't need to be a UID. I can't tell everyone what the last item id I
got from every PEP node I subscribed to was. Well, I could, but that seems
large and leaky. This is a good-enough approach that is 100%
backward-compatible. Old servers still send you everything. New servers
that have too much state to figure out the deltas on this particular node
still send you everything. Old clients still get everything.
It's important that an item with the same ID replaces an older item with
that ID, so if I get a few extra publishes from the clock-skew period,
they're just no-ops.
New servers that want to compress their storage based on the ID-overwrite
principal MAY do so, since subscribers won't have access to the intermediate
changes to a single item today anyway.
--
Joe Hildebrand