Re: Queue length
Alejandro Guerrieri <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
Well, then I'd do it directly when loading the value on
max_outgoing_sms_qlength instead of passing -1 and changing it to 1M
later on.
if (cfg_get_integer(&max_outgoing_sms_qlength, grp,
octstr_imm("sms-outgoing-queue-
limit")) == -1)
max_outgoing_sms_qlength = -1;
==>
#define DEFAULT_SMS_QLENGTH 1000000 (on bearerbox.h?)
....
if (cfg_get_integer(&max_outgoing_sms_qlength, grp,
octstr_imm("sms-outgoing-queue-
limit")) == -1)
max_outgoing_sms_qlength = DEFAULT_SMS_QLENGTH;
I'll prepare a doc patch in the meantime.
Regards,
--
Alejandro Guerrieri
[email protected]
On 31/08/2009, at 11:11, Alexander Malysh wrote:
> Hi Alex,
>
> sorry for delay... Yes you are right, -1 meanst not infitine but
> large enough IMO. We should fix docs but not the code.
> Because if someone want to allow bigger queue then he can set it in
> config.
>
> Thanks,
> Alex
>
> Am 29.08.2009 um 12:40 schrieb Alejandro Guerrieri:
>
>> Alex, can you confirm? If that's the case, IMO we should either fix
>> the documentation or change the code. On a bulk-sending scenario 1M
>> is far from being considered infinite.
>>
>> Regards,
>> --
>> Alejandro Guerrieri
>> [email protected]
>>
>>
>>
>> On 29/08/2009, at 10:27, Nikos Balkanas wrote:
>>
>>> Hi,
>>>
>>> It is common for some configuration variables to be converted to
>>> more manageable values in the code, depending on function calls.
>>> Seems 1000000 is considered large enough in this implementation to
>>> be practically infinite.
>>>
>>> @Alex M: Could you please check the Reply-To field in the lists
>>> (devel&users). Lately it is all wrong.
>>>
>>> BR,
>>> Nikos
>>> ----- Original Message -----
>>> From: Alejandro Guerrieri
>>> To: Kannel Devel
>>> Sent: Saturday, August 29, 2009 2:16 AM
>>> Subject: Queue length
>>>
>>> Hi,
>>>
>>> I was checking the code that handles the outgoing queue and I've
>>> came into this that got me confused.
>>>
>>> On gw/bb_smsconn.c, around line 1170:
>>>
>>> /*
>>> * if global queue not empty then 20% reserved for old msgs
>>> * and 80% for new msgs. So we can guarantee that old msgs find
>>> * place in the SMSC's queue.
>>> */
>>> if (max_outgoing_sms_qlength > 0 && gwlist_len(outgoing_sms) >
>>> 0) {
>>> max_queue = (resend ? max_outgoing_sms_qlength :
>>> max_outgoing_sms_qlength * 0.8);
>>> }
>>> else
>>> max_queue = (max_outgoing_sms_qlength > 0 ?
>>> max_outgoing_sms_qlength : 1000000);
>>>
>>> However, the documentation states:
>>>
>>> sms-outgoing-queue-limit number of messages Set maximum size of
>>> outgoing message queue. After number of messages has hit this
>>> value, Kannel began to discard them. Value -1 default, means that
>>> the queue of infinite length is accepted.
>>>
>>> Variable max_outgoing_sms_qlength gets defined on gw/bearerbox.c
>>> line 494:
>>>
>>> if (cfg_get_integer(&max_outgoing_sms_qlength, grp,
>>> octstr_imm("sms-outgoing-queue-
>>> limit")) == -1)
>>> max_outgoing_sms_qlength = -1;
>>>
>>> So, assuming I don't define it (gets loaded with -1), the "else"
>>> condition would be true and since max_outgoing_sms_qlength < 0,
>>> max_queue would be 1000000 right?
>>>
>>> In other words: is the documentation wrong and -1 means 1000000
>>> instead of infinite?
>>>
>>> Regards,
>>> --
>>> Alejandro Guerrieri
>>> [email protected]
>>>
>>>
>>>
>>>
>>
>