waitForAny

open suspend fun <T : ModelElement.QObject> BlockingQueue<T>.waitForAny(predicate: (T) -> Boolean, blockingPriority: Int = PRIORITY, suspensionName: String? = null): List<T>

Permits simpler calling syntax when using a blocking queue within a KSLProcess This method will block (suspend) until at least 1 item that meets the criteria is available within the blocking queue. If more than one is available, all items meeting the criteria will be returned.

Parameters

predicate

a functional predicate that tests items in the queue for the criteria

blockingPriority

the priority associated with the entity if it has to wait to receive

suspensionName

the name of the suspension point. can be used to identify which receive suspension point the entity is experiencing if there are more than one receive suspension points within the process. The user is responsible for uniqueness.