[Freeswitch-dev] Priority design in the event engine

Michael Jerris mike at jerris.com
Tue Sep 19 08:08:15 EDT 2006



            for(i = 0; i < 3; i++) {

                  if (len[i]) {

                        queue = queues[i];

                        while(queue) {

                              if (switch_queue_trypop(queue, &pop) ==

                                    out_event = pop;


                              } else {








This cycles through the queue's from high priority to low priority,
fully exhausting each queue as it goes, so it delivers all the high
priority events before it starts with the normal events.  It does not go
back and deliver a high priority event if one comes in after it has been
emptied the first time.





From: Ivo Vachkov [mailto:ivo.vachkov at gmail.com] 
Sent: Tuesday, September 19, 2006 7:47 AM
To: freeswitch-dev at lists.freeswitch.org
Subject: Re: [Freeswitch-dev] Priority design in the event engine


Probably it was just an idea at the time of writing that code and left
unfilled. ... just a guess ... :) Otherwise it could be implemented with
serveral queues and rules to service the queues in a given order.

On 9/19/06, will <will at camangi.com> wrote: There are three priority
levels in the event system - "NORMAL","HIGH" and "LOW".

When I trace into "switch_event.c", a "for loop" can be found there. But
it seems no

effect on priority. I mean, it just pop and deliver events by turns.


What's the meaning of priority in FreeSwitch?




Freeswitch-dev mailing list
Freeswitch-dev at lists.freeswitch.org 
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-dev

"UNIX is basically a simple operating system, but you have to be a
genius to understand the simplicity." Dennis Ritchie 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20060919/68e36b01/attachment-0001.html 

More information about the Freeswitch-dev mailing list