mirror of
https://github.com/moparisthebest/xeps
synced 2024-11-21 16:55:07 -05:00
Add a use case to entity versioning
Also: Minor typo and wording fixes Fix broken example XML More tabbing fixes
This commit is contained in:
parent
d6b3f54e00
commit
b3725e2cf9
@ -50,12 +50,11 @@
|
|||||||
This problem of "downloading the world" (downloading the entire roster
|
This problem of "downloading the world" (downloading the entire roster
|
||||||
every time a session is initialized) was partially addressed by &xep0237;
|
every time a session is initialized) was partially addressed by &xep0237;
|
||||||
which was later merged into &rfc6121; §2.6. While this solved the problem
|
which was later merged into &rfc6121; §2.6. While this solved the problem
|
||||||
for the roster, it didn't account for other entities (eg. MUC
|
for the roster, it didn't account for other entities (eg. disco items).
|
||||||
disco#items). Furthermore, roster versioning requires that the server
|
Furthermore, roster versioning requires that the server maintain a great
|
||||||
maintain a great deal of state (multiple versions of the roster) which can
|
deal of state (multiple versions of the roster) which can be difficult to
|
||||||
be difficult to implement in a large, distributed system. This XEP defines
|
implement in a large, distributed system. This XEP defines a method by
|
||||||
a method by which entities other than the roster can be versioned and
|
which entities other than the roster can be versioned and cached.
|
||||||
cached.
|
|
||||||
</p>
|
</p>
|
||||||
</section1>
|
</section1>
|
||||||
|
|
||||||
@ -115,6 +114,11 @@
|
|||||||
client can fetch the list, and then poll for changes at a later date
|
client can fetch the list, and then poll for changes at a later date
|
||||||
without re-requesting the entire list.
|
without re-requesting the entire list.
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
A client wishes to cache the features supported by servers of the
|
||||||
|
contacts in their roster since their disco items is not likely to
|
||||||
|
change often.
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section2>
|
</section2>
|
||||||
<section2 topic='Servers' anchor='server_use_cases'>
|
<section2 topic='Servers' anchor='server_use_cases'>
|
||||||
@ -200,11 +204,11 @@
|
|||||||
|
|
||||||
<!-- Server -->
|
<!-- Server -->
|
||||||
<iq from='romeo@montague.lit' id='56' to='romeo@montague.lit/home' type='result>
|
<iq from='romeo@montague.lit' id='56' to='romeo@montague.lit/home' type='result>
|
||||||
<query xmlns='jabber:iq:roster'>
|
<query xmlns='jabber:iq:roster'>
|
||||||
<item subscription='both' jid='bill@shakespeare.lit' />
|
<item subscription='both' jid='bill@shakespeare.lit'>
|
||||||
<version xmlns='urn:xmpp:entityver:0'>9ZFZXVP9</version>
|
<version xmlns='urn:xmpp:entityver:0'>9ZFZXVP9</version>
|
||||||
</item>
|
</item>
|
||||||
</query>
|
</query>
|
||||||
</iq>
|
</iq>
|
||||||
]]></example>
|
]]></example>
|
||||||
<p>
|
<p>
|
||||||
@ -218,7 +222,7 @@
|
|||||||
<!-- Server -->
|
<!-- Server -->
|
||||||
<iq from='romeo@montague.lit' id='ah382g678jka7' to='romeo@montague.lit/home' type='set'>
|
<iq from='romeo@montague.lit' id='ah382g678jka7' to='romeo@montague.lit/home' type='set'>
|
||||||
<query xmlns='jabber:iq:roster' ver='ver34'>
|
<query xmlns='jabber:iq:roster' ver='ver34'>
|
||||||
<item jid='tybalt@shakespeare.lit' subscription='remove>
|
<item jid='tybalt@shakespeare.lit' subscription='remove'>
|
||||||
<version xmlns='urn:xmpp:entityver:0'>XWE4MUUP</version>
|
<version xmlns='urn:xmpp:entityver:0'>XWE4MUUP</version>
|
||||||
</item>
|
</item>
|
||||||
</query>
|
</query>
|
||||||
@ -243,13 +247,13 @@
|
|||||||
|
|
||||||
<!-- Server -->
|
<!-- Server -->
|
||||||
<iq from='chat.shakespeare.lit'
|
<iq from='chat.shakespeare.lit'
|
||||||
id='zb8q41fas6yn4'
|
id='zb8q41fas6yn4'
|
||||||
to='hag66@shakespeare.lit/phone'
|
to='hag66@shakespeare.lit/phone'
|
||||||
type='result'>
|
type='result'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#items'>
|
<query xmlns='http://jabber.org/protocol/disco#items'>
|
||||||
<item jid='coven@chat.shakespeare.lit'
|
<item jid='coven@chat.shakespeare.lit'
|
||||||
name='A Dark Cave'>
|
name='A Dark Cave'>
|
||||||
<version xmlns='urn:xmpp:entityver:0'>VIZSVF0D</version>
|
<version xmlns='urn:xmpp:entityver:0'>VIZSVF0D</version>
|
||||||
</item>
|
</item>
|
||||||
</query>
|
</query>
|
||||||
</iq>
|
</iq>
|
||||||
@ -346,7 +350,7 @@ anne@shakespeare.lit:VIZSVF0D,bill@shakespeare.lit:25P2A7H8
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Version tokens SHOULD always be considered opaque to the client (eg. even
|
Version tokens SHOULD always be considered opaque to the client (eg. even
|
||||||
if the version token is a derivable and consistant hash on the server side,
|
if the version token is a derivable and consistent hash on the server side,
|
||||||
clients should not need to know how the server is calculating the token).
|
clients should not need to know how the server is calculating the token).
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
Loading…
Reference in New Issue
Block a user