From 0283469cfc3d6eab2666433f04f2fa895a8a34b2 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 17 Jun 2008 15:57:43 +0000 Subject: [PATCH] Merged revisions 123274 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r123274 | mmichelson | 2008-06-17 10:56:55 -0500 (Tue, 17 Jun 2008) | 12 lines davidw pointed out that the holdtime calculation used by app_queue does not use "boxcar" filtering as the comments say. The term "boxcar" means that the number of samples used to calculate stays constant, with new samples replacing the oldest ones. The queue holdtime calculation uses all holdtime samples collected since the queue was loaded, so the comment has been changed to be accurate. (closes issue #12781) Reported by: davidw ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123275 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_queue.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/app_queue.c b/apps/app_queue.c index 6d40c3976e..ad1a46a101 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -483,7 +483,7 @@ struct call_queue { int numperiodicannounce; /*!< The number of periodic announcements configured */ int randomperiodicannounce; /*!< Are periodic announcments randomly chosen */ int roundingseconds; /*!< How many seconds do we round to? */ - int holdtime; /*!< Current avg holdtime, based on recursive boxcar filter */ + int holdtime; /*!< Current avg holdtime, based on an exponential average */ int callscompleted; /*!< Number of queue calls completed */ int callsabandoned; /*!< Number of queue calls abandoned */ int servicelevel; /*!< seconds setting for servicelevel*/ @@ -1927,7 +1927,7 @@ static void recalc_holdtime(struct queue_ent *qe, int newholdtime) { int oldvalue; - /* Calculate holdtime using a recursive boxcar filter */ + /* Calculate holdtime using an exponential average */ /* Thanks to SRT for this contribution */ /* 2^2 (4) is the filter coefficient; a higher exponent would give old entries more weight */