Hello,
SyncEvolution now adds a new feature : message resend if the last response from server get
lost. We expect server can handle such case and just resends the last response again when
receiving duplicated client side requests. This improves client side stability in poor
network environments and also avoids a client side hanging bug [1].
We have conduct tests with several servers (synthesis, scheduleworld, funambol, mobical),
the status can be summarized as
1. works good with synthesis
2. a hanging bug with ScheduleWorld and funambol [2]. (If client resends "Alert
222", server will not progress further, leading to endless loop)
3. hardly work with mobical (only works when resend occurs before any data is really
exchanged).
3.1 If resend occurs while client is sending its changes, server will responds error
'500', client side changes accepted, server side changes not resent.
3.2 If resend occurs before client start sending its changes, works
3.3 If resend occurs after client sending changes, server will respond with a message with
wrong message id
The conclusion is message resend improves client side stability though servers not fully
support on this. For servers which does not respect the "resend" message
(mobical), resend introduced no harm. The only drawback introduced by message resend for
us is the hanging problem[2].
[1]
http://bugzilla.moblin.org/show_bug.cgi?id=3427
[2]
https://core.forge.funambol.org/ds/viewMessage.do?dsForumId=402&dsMes...
Thanks,
Chen,Congwu