Re: [PATCH] Guaranteed throughput smsc-independent

Donald Jackson <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Ignore my last mail!

I see these will be called per thread :)

2009/6/9 Donald Jackson <[email protected]>

> I will review in more detail when I get a moment, my concern here is that
> you are now sleeping at the bearerbox layer which could effect delivery to
> other SMSC's.
>
> The current throughput limits although the logic is per-smsc, they sleep
> within their own threads as to not delay any others.
>
> Have you addressed this scenario?
>
> 2009/6/9 Damián Viano <[email protected]>
>
> Hi list:
>>
>>        I've seen kannel not respect throughput at all, at least with the
>> fakesmsc
>> and looking around find the following bug:
>>
>> http://redmine.kannel.org/issues/show/332
>>
>> With the following patch attached:
>>
>> http://redmine.kannel.org/attachments/104/0000332-emi_patch_ack_v3.txt
>>
>> Inspired by that one, I've implemented a smsc-independent throughput
>> patch. The
>> idea is to enforce the throughput from the beaberbox side instead of
>> having to
>> implement the same login in every smsc. This is possible due to the
>> bb_smscconn_sent() and bb_smscconn_send_failed() callbacks from the smscs
>> implementation. They MUST call one of this callbacks after sending a
>> message
>> either successfully(_sent) or with failure(_failed), so we can make them
>> sleep
>> there, making sure they NEVER go over the configured throughput.
>>
>> There's only one downside to this smsc-independent approach which is that
>> we
>> don't, and can't (without cluttering the interface, AFAIK) know how much
>> time
>> the smsc takes in actually sending the sms, so we assume it takes nothing,
>> this
>> would, practically give us a somewhat smaller real throughput, but I
>> though
>> that's better than the previous behaviour (which for me, flooded the
>> smsc).
>>
>> I've only tested this with fakesmsc so far, and only commented out the
>> previous
>> throughput implementation in that smsc, doing the rest is trivial and I
>> can do
>> it (or anyone else can), but this first iteration is to gather opinions
>> about
>> this approach.
>>
>> Once again the patch is against the current stable release, I can update
>> it if
>> needed, just let me know.
>>
>> Again I would love comments, questions, commits, rants, whatever :)
>>
>> For reference:
>> diffstat kannel-1.4.3-throughput.patch
>>  bb_smscconn.c    |   46 ++++++++++++++++++++++++++++++++++++++++++++++
>>  smsc/smsc_fake.c |    9 +++++++--
>>  smscconn_p.h     |    2 ++
>>  3 files changed, 55 insertions(+), 2 deletions(-)
>>
>> Hope to help.
>>
>>    Damián Viano(Des).
>>
>> P.D.: Also there's an info line in smsc_fake.c to count the number of sms,
>> which should be removed from the final version, is only there for
>> debugging
>> purposes.
>>
>
>
>
> --
> Donald Jackson
> http://www.ddj.co.za/
> donaldjster(a)gmail.com
>



-- 
Donald Jackson
http://www.ddj.co.za/
donaldjster(a)gmail.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.