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
CleanupGlobalQueuesSuppression de queues globales
GlobalQueueFirstRetourne le premier élément d'une queue globale (sans le supprimer)
GlobalQueueInsertInsertion au début d'une queue globale
GlobalQueueLengthRetourne la longueur d'une queue globale
GlobalQueuePeekRetourne le dernier élément d'une queue globale (sans le supprimer)
GlobalQueuePopRetourne et supprime le dernier élément d'une queue globale
GlobalQueuePullRetourne et supprime le premier élément d'une queue globale
GlobalQueuePushAjout à la fin d'une queue globale
GlobalQueueSnapshotRetourne tous les éléments d'une queue sous la forme d'un tableau
GlobalQueueSnapshotFloatsRetourne tous les éléments d'une queue sous la forme d'un tableau de flottants
GlobalQueueSnapshotIntegersRetourne tous les éléments d'une queue sous la forme d'un tableau d'entiers
GlobalQueueSnapshotStringsRetourne tous les éléments d'une queue sous la forme d'un tableau de chaînes