Re: Queue length
Alexander Malysh <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
+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] >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >