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 <damian.vi...@buongiorno.com> > 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