Asynchronous Verb Completion
Some LUA verbs complete quickly, after some local processing (for example the RUI_PURGE verb); however, most verbs take some time to complete because they require messages to be sent to and received from the host application. Because of this, LUA is implemented as an asynchronous interface; control can be returned to the application while a verb is still in progress, so the application is free to continue with further processing (including issuing other LUA verbs).The way that LUA returns control to the application is by way of an event handle in the verb.
If Personal Communications's verb response signal is delayed (for example, because it needs to wait for information from the remote node), then the stub should return the verb asynchronously. The API does this by setting the primary return code to LUA_IN_PROGRESS, and the lua_flag2 to LUA_ASYNC. The application can now either perform other processing, or wait for notification from the API that the verb has completed. When the verb completes, the application is notified by the setting of the primary return code in the VCB to its final value, and leaving the lua_flag2 set to LUA_ASYNC.