From d7fbc9aae242e1ae5ec49bf5364ebd3fceff2ced Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 17 Jun 2008 15:56:55 +0000 Subject: [PATCH] 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/branches/1.4@123274 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 01fdcf3aa9..688ffed134 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -394,7 +394,7 @@ struct call_queue { int announcefrequency; /*!< How often to announce their position */ int periodicannouncefrequency; /*!< How often to play periodic announcement */ 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*/ @@ -1627,7 +1627,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 */