On Wed, Sep 8, 2010 at 9:44 AM, Iñaki Baz Castillo <[email protected]> wrote: > 2010/9/8 Kevin Smith <[email protected]>: >> On Wed, Sep 8, 2010 at 9:19 AM, Iñaki Baz Castillo <[email protected]> wrote: >>> So the server MUST keep all this information forever as it doesn't >>> know when resource AAA will connect. Am I right? If so, is it a >>> feasible requeriment for a server? >> >> The server could simply send the complete roster, rather than a delta, >> in which case the server needs to store nothing more than the current >> version number. > > Thanks, but I don't understand how the server could determine when to > send the complete roster or just incremental changes. For example, in > the simple case expossed in my initial mail: > > 1) Bob exists in Alice's roster rev14. > > 2) In ver15 resource BBB deletes Bob. Let's assume the server deletes > the item so the most modern rev in the roster is still ver14. > > 3) Later resource AAA requests roster items modified since ver14. > > 4) The server matches versions (client verison: rev14, server > version: rev14) so determines that there are no changes to send back > to AAA (ERROR as AAA is not notified about the deletion of Bob). > > > The solution would be that the server sends AAA the entire roster in > step 4, but based on what?
The server can use whatever method it wants to decide to send the complete roster. It could always send complete rosters on a version change, or it could store a small number of version deltas and send a complete roster if the client requests more, or whatever. /K
