AsynchronousFinished (Daemon property): Difference between revisions

From m204wiki
Jump to navigation Jump to search
Line 11: Line 11:
==Usage notes==
==Usage notes==
<ul>
<ul>
<li>It is a request cancelling error to invoke AsynchronousFinished against a daemon that is not processing a RunAsynchronously or ContinueAsynchronously request.</li>
<li>It is a request cancelling error to invoke <var>AsynchronousFinished</var> against a daemon that is not processing a <var>RunAsynchronously</var> or <var>ContinueAsynchronously</var> request.</li>
</ul>
</ul>
==Examples==
==Examples==
In the following example, a master thread starts two asynchronous requests on two daemon threads and then polls them using AsynchronousFinished to determine which one is done first and process its response:
In the following example, a master thread starts two asynchronous requests on two daemon threads and then polls them using AsynchronousFinished to determine which one is done first and process its response:

Revision as of 18:51, 16 May 2012

Is the asynchronous request on this Daemon finished? (Daemon class)

[Introduced in Sirius Mods 7.9]

Syntax

%boolean = daemon:AsynchronousFinished

Syntax terms

%booleanBoolean enumeration result set to True if the asynchronous request is finished and False if it is not.
daemon A previously defined Daemon object.

Usage notes

  • It is a request cancelling error to invoke AsynchronousFinished against a daemon that is not processing a RunAsynchronously or ContinueAsynchronously request.

Examples

In the following example, a master thread starts two asynchronous requests on two daemon threads and then polls them using AsynchronousFinished to determine which one is done first and process its response:

%daemon1 is object daemon %daemon2 is object daemon %doneDaemon is object daemon ... %daemon1:runAsynchronously(%commands) %daemon2:runAsynchronously(%commands) repeat forever  %(system):wakeupAt(%(system):currentTimeMilliseconds + 100) if %daemon1:asynchronousFinished then %doneDaemon = %daemon1 elseIf %daemon2:asynchronousFinished then %doneDaemon = %daemon2 end if end repeat %doneDaemon:waitAsynchronous(%outputObject)

See also