rideConveyor

abstract suspend fun rideConveyor(conveyorRequest: ConveyorRequestIfc, destination: IdentityIfc, ridePriority: Int = PRIORITY, suspensionName: String? = null): Double

This suspending function causes the entity to be associated with an item that occupies the allocated cells on the conveyor. The item will move on the conveyor until it reaches the supplied destination. After this suspending function returns, the item associated with the entity will be occupying the cells it requires at the exit location of the segment associated with the destination. The item will remain on the conveyor until the entity indicates that the cells are to be released by using the exit function. The behavior of the conveyor during the ride and when the item reaches its destination is governed by the type of conveyor. A blockage occurs at the destination location of the segment while the entity occupies the final cells before exiting or riding again. If the destination implements the LocationIfc then the current location property of the entity will be updated to this value at the completion of the ride.

Return

the time that it took to reach the destination. This may include time spent on the conveyor waiting due to blockages and the time moving through cells on the conveyor during the ride

Parameters

conveyorRequest

the permission to ride on the conveyor in the form of a valid cell allocation

destination

the location to which to ride

ridePriority

the priority associated with ride request

suspensionName

the name of the suspension point the entity is experiencing if there are more than one delay suspension points within the process. The user is responsible for uniqueness.


open suspend fun rideConveyor(destination: IdentityIfc, ridePriority: Int = PRIORITY, suspensionName: String? = null): Double

This suspending function causes the entity to be associated with an item that occupies the allocated cells on the conveyor. The item will move on the conveyor until it reaches the supplied destination. After this suspending function returns, the item associated with the entity will be occupying the cells it requires at the exit location of the segment associated with the destination. The item will remain on the conveyor until the entity indicates that the cells are to be released by using the exit function. The behavior of the conveyor during the ride and when the item reaches its destination is governed by the type of conveyor. A blockage occurs at the destination location of the segment while the entity occupies the final cells before exiting or riding again. If the destination implements the LocationIfc then the current location property of the entity will be updated to this value at the completion of the ride.

Return

the time that it took to reach the destination. This may include time spent on the conveyor waiting due to blockages and the time moving through cells on the conveyor during the ride

Parameters

destination

the location to which to ride

ridePriority

the priority associated with ride request

suspensionName

the name of the suspension point the entity is experiencing if there are more than one delay suspension points within the process. The user is responsible for uniqueness.