Controller for a group of actors which manages their execution.
See docLang::Actors
Slots
- isDoneSource
-
Bool isDone()
Return true if this group has been stopped or killed and all its actors have completed processing. If this group was stopped then true indicates that all pending messages in the queues before the stop have been fully processed. If this group was killed, then this method returns true once all actors have exited their thread. See join to block until done.
- isStoppedSource
-
Bool isStopped()
Return true if this group has been stopped or killed. Once a a group is stopped, new messages may not be delivered to any of its actors. A stopped group is not necessarily done until all its actors have finished processing. Also see isDone and join.
- joinSource
-
This join(Duration? timeout := null)
Wait for this group's actors to fully terminate or the until the given timeout occurs. A null timeout blocks forever. If this method times out, then TimeoutErr is thrown. Return this.
- killSource
-
This kill()
Perform an unorderly shutdown. Any pending messages which have not started processing are cancelled. Actors which are currently processing a message will be interrupted. See stop to perform an orderly shutdown. If the group as already been killed, then do nothing.
- stopSource
-
This stop()
Perform an orderly shutdown. Once stopped, no new messages may be sent to this group's actors. However, any pending messages will be processed. Note that scheduled messages are not guaranteed to be processed, only those delivered with
Actor.send
.Use join to wait for all actors to complete their message queue. To perform an immediate shutdown use kill. If the group has already been stopped, then do nothing. Return this.