mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-07-24 13:12:03 +00:00
add priority queue for events so important broadcasts like hold music can take precedenced over event-lock
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15865 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
@@ -134,6 +134,7 @@ struct switch_core_session {
|
||||
switch_queue_t *event_queue;
|
||||
switch_queue_t *message_queue;
|
||||
switch_queue_t *private_event_queue;
|
||||
switch_queue_t *private_event_queue_pri;
|
||||
switch_thread_rwlock_t *bug_rwlock;
|
||||
switch_media_bug_t *bugs;
|
||||
switch_app_log_t *app_log;
|
||||
|
||||
@@ -986,9 +986,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_dequeue_event(_In_ switch_co
|
||||
\brief Queue a private event on a given session
|
||||
\param session the session to queue the message on
|
||||
\param event the event to queue
|
||||
\param priority event has high priority
|
||||
\return the status returned by the message handler
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_session_queue_private_event(_In_ switch_core_session_t *session, _Inout_ switch_event_t **event);
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_session_queue_private_event(_In_ switch_core_session_t *session, _Inout_ switch_event_t **event, switch_bool_t priority);
|
||||
|
||||
|
||||
/*!
|
||||
|
||||
@@ -326,7 +326,8 @@ typedef enum {
|
||||
SMF_LOOP = (1 << 4),
|
||||
SMF_HOLD_BLEG = (1 << 5),
|
||||
SMF_IMMEDIATE = (1 << 6),
|
||||
SMF_EXEC_INLINE = (1 << 7)
|
||||
SMF_EXEC_INLINE = (1 << 7),
|
||||
SMF_PRIORITY = (1 << 8)
|
||||
} switch_media_flag_enum_t;
|
||||
typedef uint32_t switch_media_flag_t;
|
||||
|
||||
@@ -919,6 +920,7 @@ typedef enum {
|
||||
CF_UNICAST,
|
||||
CF_VIDEO,
|
||||
CF_EVENT_LOCK,
|
||||
CF_EVENT_LOCK_PRI,
|
||||
CF_RESET,
|
||||
CF_ORIGINATING,
|
||||
CF_STOP_BROADCAST,
|
||||
|
||||
Reference in New Issue
Block a user