wait For
Causes the current process to suspend (immediately) until the blockage has been completed. If the blockage is active, the entity will be suspended until the blockage is completed (cleared). If the blockage is not active, then no suspension occurs. Some other entity must cause the blockage to be started and completed. An entity cannot block itself.
Parameters
the blockage to wait for
an optional queue to hold the entity while it is blocked.
indicates that the process should yield (instantaneously) control back to the event executive prior to starting to wait for the blockage. The default is true. This yield allows blockages that need to occur prior to but at the same time as the beginning of the wait.
, a priority can be used to determine the order of events for delays that might be scheduled to complete at the same time. Lower yield priorities go first.
the name of the waitFor. can be used to identify which waitFor the entity is experiencing if there are more than one waitFor suspension points within the process. The user is responsible for uniqueness.
Causes the current process to suspend (immediately) until the blocking task has been completed. If the blocking task is active (in progress), the entity will be suspended until the task is completed (cleared). If the blockage is not active, then no suspension occurs. Some other entity must cause the task to be started and completed. An entity cannot block itself.
There are many different kinds of blocking tasks represented by the classes: BlockingActivity, BlockingResourceUsage, BlockingResourcePoolUsage, BlockingMovement, etc.
Parameters
the blocking activity to wait for
an optional queue to hold the entity while it is blocked for statistica collection purposes.
indicates that the process should yield (instantaneously) control back to the event executive prior to starting to wait for the blockage. The default is true. This yield allows blockages that need to occur prior to but at the same time as the beginning of the wait.
, a priority can be used to determine the order of events for delays that might be scheduled to complete at the same time. Lower yield priorities go first.
the name of the waitFor. can be used to identify which waitFor the entity is experiencing if there are more than one waitFor suspension points within the process. The user is responsible for uniqueness.
Causes the current process to suspend (immediately) until the specified process has run to completion. This is like run blocking. It activates the specified process and then waits for it to complete before proceeding. Since the current process suspends (immediately) the time until activation of the specified process will be included in the total time until the specified process completes.
Parameters
the process to start for an entity. The supplied process must be in the created state.
the time until the start of the process being activated.
the priority associated with the event to activate the process
the name of the waitFor. can be used to identify which waitFor the entity is experiencing if there are more than one waitFor suspension points within the process. The user is responsible for uniqueness.
Causes the process to halt, waiting for the signal to be announced. Some other process/event is necessary to cause the signal. The entities stop waiting for the signal and resume their processes when signaled.
Parameters
a general indicator for controlling the process
a priority indicator to inform ordering when there is more than one process waiting for the same signal
Indicates whether waiting time statistics should be collected on waiting items, true means collect statistics
the name of the waitFor. can be used to identify which waitFor the entity is experiencing if there are more than one waitFor suspension points within the process. The user is responsible for uniqueness.
Permits simpler calling syntax when using a blocking queue within a KSLProcess This method will block (suspend) until the required number of items that meet the criteria become available within the blocking queue.
Parameters
the number of items needed from the blocking queue that match the criteria
a functional predicate that tests items in the queue for the criteria
the priority associated with the entity if it has to wait to receive
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.