wait For Any Items
abstract suspend fun <T : ModelElement.QObject> waitForAnyItems(blockingQ: BlockingQueue<T>, predicate: (T) -> Boolean, blockingPriority: Int = PRIORITY, suspensionName: String? = null): List<T>
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
blocking Q
the blocking queue channel that has the items
predicate
a functional predicate that tests items in the queue for the criteria
blocking Priority
the priority associated with the entity if it has to wait to receive
suspension Name
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.