Achèvement de verbe synchrone et asynchrone LUA
Les verbes d’application d’unité logique (LUA) peuvent terminer l’exécution de manière synchrone ou asynchrone.
Complétion des verbes synchrones
Lorsque LUA est en mesure d’effectuer tout le traitement d’un verbe dès qu’il est émis, le verbe s’est terminé de façon synchrone. Dans ce cas, le code de retour principal est défini sur une valeur autre que LUA_IN_PROGRESS, et le bit lua_flag2.async est défini sur zéro.
La valeur du bit lua_flag2.async doit être testée, le code de retour principal n’étant pas égal à LUA_IN_PROGRESS. (Pour plus d’informations sur ces paramètres retournés, consultez les descriptions de verbes individuels.)
Complétion de verbe asynchrone
Certains verbes LUA (par exemple, RUI_PURGE) se terminent rapidement après le traitement local. Toutefois, la plupart des verbes prennent un certain temps, car ils nécessitent l’envoi et la réception de messages à partir du nœud local ou de l’application hôte.
Lorsque LUA doit attendre des informations provenant de l’unité logique distante ou du nœud local avant de pouvoir terminer un verbe, le verbe se termine de façon asynchrone.
Dans ce cas, le bit lua_flag2.async est défini sur 1. Le code de retour principal est également normalement défini sur LUA_IN_PROGRESS, mais cette valeur ne peut pas être basée sur. La valeur du bit lua_flag2.async doit être testée. L’application peut désormais effectuer un autre traitement ou attendre une notification de LUA indiquant que le verbe est terminé. LUA émet cette notification en définissant le code de retour principal sur sa valeur finale et en laissant lua_flag2.async défini sur 1.
Une fois le verbe terminé, LUA effectue les opérations suivantes en fonction de votre environnement :
Pour Windows, deux types de notification sont possibles. L’application LUA :
Problèmes WaitForSingleObject ou WaitForMultipleObject.
Ou
Publie le message de notification « WinRUI/WinSLI » dans le handle de fenêtre du message WinRUI/WinSLI .
La méthode d’événement utilisant WaitForSingleObject ou WaitForMultipleObject est la méthode recommandée pour recevoir une notification asynchrone sur Windows.
Dans l’environnement Windows, il notifie l’achèvement d’une requête asynchrone en publiant le message de notification « WinRUI/WinSLI » dans le handle de fenêtre du message WinSLI WinRUI/. Un handle de fenêtre a été ajouté comme premier paramètre passé aux points d’entrée WinRUI et WinSLI .