hi,
the newer versios of deltachat-desktop and android-dev use a so called
"exponential backoff" algorithm if the initial resending of messages fails.
Retrying is done:
1) whenever the operating system signals, there is network available again
2) after a given timeout. this timeout is currently a random value
between 0 and 2^tries (in minutes then)
while 1) should get messages out "fast" if the problem is a flaky
network, the idea of 2) is to handle problems that have other, probably
unknown reasons - the smtp server, one of the the recipients messages
that are not accepted in a way, wifi login screens or whatever. the
randomness may help to get around regularly recurrent problems.
approach 2) may result in messages sent out in different orders,
however, this is wanted as a given messages that cannot be sent out for
some reasons, should not block the queue in general.
the idea of 2) is also to save mobile date and to avoid sending things
out too often. after 16 retries, sending is stopped completely - this is
actually a long time, however, assuming you're on holidays without
network for days, this also makes some sense :)
currently, 1) + 2) are realized in android-dev this way, delta-desktop
does not yet implement 1) as far as i know.
please note that on android-dev typically everything is recovered by 1)
- 2) on really happens on "hard" problems.
also, of course, we will probably tweak things here and there :)
bjoern
On 18.11.18 at 14:30, Евгений Кабанов wrote:
> Dear friends!
>
> Please explain the algorithm of delivery of messages: sometimes
> they go in one direction for a few seconds, and sometimes this
> time is from 5 to 10 minutes. Moreover, the rapid exchange of
> messages (question-answer) does not work, or there or back
> (quickly).
>
> I want to understand the algorithm in order to communicate the
> order of correspondence to their correspondents.
>
>
> _______________________________________________
> delta mailing list -- delta(a)codespeak.net
> To unsubscribe send an email to delta-leave(a)codespeak.net
>