Messages in JS

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
 
(22 intermediate revisions by 3 users not shown)
Line 1: Line 1:
You can have access to any message in Yate, but you have to install the specific handler.
+
From Javascript module (the same goes for external scripts) you can have access to all Yate's messages.
  
For example for routing you need to ''call.route'' message handler installed.
+
In order to receive a message you must install a handler.
  
In Javascript you have to install handler for MessageQueue message.
+
You can also create, a custom MessageQueue, to avoid usage of internal Yate's message queue, if you need to handle a specific message, that takes too long to be processed by Yate.
  
YATE's Messages in JavaScript:
 
  
[[MessageQueue]]
+
Yate message processing:<br/>
 +
 
 +
'''Enqueue:'''<br/>
 +
Check if an installed MessageQueue matches it. Put it there if so. Message will be processed by it.<br/>
 +
Otherwise: put message in Yate internal queue. Message will be taken by an internal worker and dispatched.<br/>
 +
 
 +
'''Dispatch:'''<br/>
 +
* Find a message handler matching the message (name and any parameter(s) filter). Handle return value:
 +
** False: find another message handler
 +
** True (message is broadcast): find another message handler
 +
** True (message is not broadcast): stop processing
 +
* Set message handled indication to boolean true if any handler returned true
 +
* Call internal message dispatched function (see enqueue() function parameters)
 +
* Pass message (read-only) and handled indication to installed post hooks matching it
 +
* Return handled indication (boolean true/false) to caller
 +
 
 +
 
 +
{|class="yate-table"
 +
|class="yate-header-right"|YATE's Messages in JavaScript
 +
|-
 +
|class="yate-content-right"|
 +
* [[Install handler for using Yate's messages in Javascript]]
 +
How to install handler for messages from Javascript.
 +
* [[Singleton (separate) message handler context in Javascript]]
 +
How to install a message handler using a separate context in Javascript.
 +
* [[MessageQueue]]
 +
The MessageQueue is a mechanism for organizing Yate's messages in different queues.
 +
|}
 +
 
 +
 
 +
'''See also'''
 +
 
 +
* [[Messages]]
 +
* [[Javascript]]
 +
 
 +
[[Category:Javascript]] [[Category:Programmers]]

Latest revision as of 07:42, 3 September 2024

From Javascript module (the same goes for external scripts) you can have access to all Yate's messages.

In order to receive a message you must install a handler.

You can also create, a custom MessageQueue, to avoid usage of internal Yate's message queue, if you need to handle a specific message, that takes too long to be processed by Yate.


Yate message processing:

Enqueue:
Check if an installed MessageQueue matches it. Put it there if so. Message will be processed by it.
Otherwise: put message in Yate internal queue. Message will be taken by an internal worker and dispatched.

Dispatch:

  • Find a message handler matching the message (name and any parameter(s) filter). Handle return value:
    • False: find another message handler
    • True (message is broadcast): find another message handler
    • True (message is not broadcast): stop processing
  • Set message handled indication to boolean true if any handler returned true
  • Call internal message dispatched function (see enqueue() function parameters)
  • Pass message (read-only) and handled indication to installed post hooks matching it
  • Return handled indication (boolean true/false) to caller


YATE's Messages in JavaScript

How to install handler for messages from Javascript.

How to install a message handler using a separate context in Javascript.

The MessageQueue is a mechanism for organizing Yate's messages in different queues.


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers