hi

sounds good.. Under what conditions do you retry?

Nisan
At 04:13 PM 10/22/02 +0200, Oded Arbel wrote:
Hi list.
 
we added a patch to Kannel to enable message retry and backoff. it was quite simple really, but I'm pretty sure it can mess things up, so I would like to get suggestions as to how to properly handle this . it goes something like this :
- we add to the message structure to integers, retry and delay.
- whenever smscconn_send() is called on a message, and before it stores that message in the driver's queue it will increment the retry field by one, and add to the delay field a configured number of seconds (we set it currently to 60) times the number of retries (this achieving the backoff effect).
- sms_router(), before calling smsc_rout() we do this :
<snip>
        if (msg->sms.retry > BB_SMSCCONN_MAX_RETRY) {
                warning(2, "Message has too many retries - consider it a failure");
                bb_smscconn_send_failed(NULL, msg, SMSCCONN_FAILED_DISCARDED);
                ret = 0;
                continue;
        }

 
        if (msg->sms.delay + msg->sms.time > time(NULL)) {
                debug("bb.sms", 0, "Message is delayed - will send later, message retries %d", msg->sms.retry);
                list_produce(outgoing_sms, msg);
                ret = 0;
                continue;
        }

</snip>
 
the ret=0 emmulates the effect of smsc_rout() returning after not founding any available drivers.
 
comments please ?
 
--
Oded Arbel
m-Wise mobile solutions
[EMAIL PROTECTED]

 
+972-9-9581711 (116)
+972-67-340014

 
::..
-- Pulchritude possesses solely cutaneous profundity.

Reply via email to