http://bugzilla.moblin.org/show_bug.cgi?id=3427
--- Comment #10 from Chen Congwu <congwu.chen(a)intel.com> 2009-07-21 02:04:44 ---
Basically implemented it. The transport will timeout after 60 seconds and then
resending previous request; after 3 failed retries it will finally give up.
But the problem is not easy to test. I am now using a TCP proxy, which reads
the client request but does not reply. It blocks the client and will trigger
client side resend. But this is not enough, we need to test real interaction
with various servers(whether they work with this, what timeout is preferred).
What I can think out is to use/write a HTTP proxy to handle this.
Patrick, do you have other ideas?
(In reply to comment #6)
Here's Lukas response (from the OS Synthesis list):
------------------------------------------------------------
What our SyncML clients do is timing out the wait for data after a 5
minutes or so, and then run a retry (send same message again). Servers
should be able to handle that - Nokia started doing this years ago as
a way to increase stability. Our server simply buffers the last
response, and when it receives a message it detects as a resend of an
already answered message (by MsgID), it just re-sends the buffered
response.
The timeout could also be shorter, because especially SonyEricsson
clients exist that have very little patience (around 30 secs), so
again, servers will ensure that they can answer within 30 secs. Our
server has one operation that could take longer for huge datasets
(loading the sync set for a slow sync), and solves the problem by
sending "empty" responses (just non-<final/>, with Alert 222 when
needed) at least every 30 seconds (configurable, of course :-) while
the sync set loading is in progress.
This approach has proven robust, we did many tests with ripping a
device out of it's USB cradle connection in mid-sync and when wireless
network was established the sync session continued on a new
connection, of course with some retries (message resends).
-------------------------------------------------------------
We should implement something similar.
--
Configure bugmail:
http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching someone on the CC list of the bug.