ContinueAsynchronously (Daemon subroutine)
Continue processing asynchronously in daemon (Daemon class)
[Introduced in Sirius Mods 8.1]
This method tells a daemon that issued a Daemon class ReturnToMaster call to continue processing at the point of the call. Unlike the Continue method, ContinueAsynchronously returns immediately, thus allowing the thread that issued ContinueAsynchronously to run in parallel with the daemon thread.
Syntax
daemon:ContinueAsynchronously[( [Input= object])] Throws DaemonLost, IncorrectDaemonState
Syntax terms
daemon | A previously defined Daemon object. |
---|---|
Input | This optional, name allowed, argument is an object passed to the daemon thread. This object must be deep copyable, as described in: "Copying objects". |
Exceptions
This subroutine can throw the following exceptions:
- IncorrectDaemonState
- If the daemon thread is not in a ReturnToMaster wait when ContinueAsynchronously is issued, an IncorrectDaemonState exception is thrown. This exception will only be thrown in Sirius Mods version 8.1 and later.
Usage notes
- The Continue and ContinueIndependently methods also tell a daemon to continue from a ReturnToMaster wait.
- Issuing ContinueAsynchronously against a transactional daemon results in request cancellation.
- If the daemon thread and its daemons hold record locks that conflict with the parent thread's family (excluding the daemon thread and its daemons), ContinueAsynchronously results in request cancellation.
- Once started via ContinueAsynchronously, the daemon thread is considered to be running asynchronously until a WaitAsynchronous is issued against the daemon object. This is the case, even if the daemon thread has completed processing all of the input commands.
- While the daemon thread is running asynchronously, any methods that require interaction with it cause request cancellation.
- WaitAsynchronous is used to retrieve any output from the commands run via ContinueAsynchronously. This includes the terminal output and any output or info object.
- For more information about asynchronous daemons, see "Asynchronous and Independent daemons".