Bibliothèque GlobalQueues
Les queues globales sont propres à une exécution d'un exécutable (Qubes.exe, QubesExpress.exe, QubesPeon.exe...) pour laquelle elles sont accessibles pour tous les scripts. En intranet, elles sont donc communes à tous les utilisateurs connectés pour une exécution d'un QubesExpress.exe donné.
Toutes les fonctions de variables globales sont atomiques, et peuvent être exécutées depuis n'importe qu'elle thread. Elle seront exécutées dans l'ordre de leur appel (en cas d'écriture multiple d'une même variable, le dernier appel gagnera).
Elles sont automatiquement supprimées à l'arrêt de l'exécutable.
Elles sont destinées à gérer queues FIFO, LIFO ou mixtes, indépendamment de l'exécution d'un script, les opérations de lecture/écriture sont efficaces et des milliers de queues globales peuvent être gérées.
Chaque queue globale est identifiée par son nom, qui est sensible à la casse. En pratique, on peut considérer qu'il n'y a pas de limite sur la longueur du nom, mais il est recommandé d'utiliser un nom plutôt court et explicite. Pour les projets les plus complexes, il est recommandé d'utiliser des espaces de nom (namespaces) afin d'éviter les collisions (par exemple en séparant les domaines par un '.').
| Fonctions |
| CleanupGlobalQueues | Suppression de queues globales |
| GlobalQueueFirst | Retourne le premier élément d'une queue globale (sans le supprimer) |
| GlobalQueueInsert | Insertion au début d'une queue globale |
| GlobalQueueLength | Retourne la longueur d'une queue globale |
| GlobalQueuePeek | Retourne le dernier élément d'une queue globale (sans le supprimer) |
| GlobalQueuePop | Retourne et supprime le dernier élément d'une queue globale |
| GlobalQueuePull | Retourne et supprime le premier élément d'une queue globale |
| GlobalQueuePush | Ajout à la fin d'une queue globale |
| GlobalQueueSnapshot | Retourne tous les éléments d'une queue sous la forme d'un tableau |
| GlobalQueueSnapshotFloats | Retourne tous les éléments d'une queue sous la forme d'un tableau de flottants |
| GlobalQueueSnapshotIntegers | Retourne tous les éléments d'une queue sous la forme d'un tableau d'entiers |
| GlobalQueueSnapshotStrings | Retourne tous les éléments d'une queue sous la forme d'un tableau de chaînes |