Re: Queue length
Alejandro Guerrieri <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
Commited to CVS. Regards, -- Alejandro Guerrieri [email protected] On 31/08/2009, at 12:34, Alexander Malysh wrote: > +1 from me. can you please commit it? > > Thanks, > Alex > > Am 31.08.2009 um 12:27 schrieb Alejandro Guerrieri: > >> Ok, here it is. >> >> <kannel-outgoing-queue-limit.diff> >> >> >> Regards, >> -- >> Alejandro Guerrieri >> [email protected] >> >> 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 >>>> [email protected] >>>> >>>> >>>> >>>> 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 >>>>>> [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] >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >