http://bugzilla.moblin.org/show_bug.cgi?id=3427
pohly <patrick.ohly(a)intel.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |patrick.ohly(a)intel.com
--- Comment #11 from pohly <patrick.ohly(a)intel.com> 2009-07-21 03:01:38 ---
(In reply to comment #10)
Basically implemented it. The transport will timeout after 60 seconds
and then
resending previous request; after 3 failed retries it will finally give up.
Is this logic inside the specific transport
(CurlTransportAgent/SoupTransportAgent) or at some higher protocol level? I
think it should be at some higher level, for example the main
EvolutionSyncClient event loop. Because TransportAgent::send() is allowed to
block (curl), some kind of idle callback would be needed to implement this
approach.
It would have the advantage that it only needs to be implemented once and has
better access to context information (timeout settings in configuration,
information about peer) to make policy decisions and/or notify the user.
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?
We need to cover two error scenarios:
* message reached the server, only its reply is lost =>
server must handle duplicate messages
* message never reached the server
Can't we test this with intercepting messages, like we do for the interrupt
tests?
--
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.