Node:Priorities, Next:Multiple output modules, Previous:Public API, Up:Top
The possibility to distinguish between several message priority levels seems to be essential. Each message sent by client to speech server should have a priority level assigned.
Speech Deamon provides the system of three priority levels. Every message will either contain explicit level information, or the default value will be considered. There is a separate message queue for each of the levels. The behavior is as follows:
These messages will be said immediately as they come to server. They are never interrupted. These messages should be as short as possible, because they block the output of all other messages. When several concurrent messages are received by server, they are queued and said in the order, they came. When a new message of level 1 comes during lower level message is spoken, lower level message is canceled and removed from the queue (this message is allready stored in the history)
Second level messages are said in the moment, when there is no message of level 1 queued. Several messages of level 2 are said in the order, they are received (queued, but in their own queue). This is the default level for messages without explicit level information.
Third level messages are only said, when there are no messages of any higher level queued. So they will be never said, if the output device is busy in the moment, they arrive. But if the message is not said, it is still copied to the history.