Ok, here it is.

Attachment: kannel-outgoing-queue-limit.diff
Description: Binary data



Regards,
--
Alejandro Guerrieri

On 31/08/2009, at 12:02, Alexander Malysh wrote:

yes, I think bearerbox.h is a good place...

Am 31.08.2009 um 12:01 schrieb Alejandro Guerrieri:

Ok, where do you suggest to place the macro definition? bearerbox.h?

Regards,
--
Alejandro Guerrieri



On 31/08/2009, at 11:50, Alexander Malysh wrote:

Hi,

DEFAULT_OUTGOING_SMS_QLENGTH please :)

Otherwise some people may think about incoming queue too.

Thanks,
Alex

Am 31.08.2009 um 11:30 schrieb Alejandro Guerrieri:

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



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



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 -----
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-limitnumber of messagesSet 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











Reply via email to