transportBy

open suspend fun transportBy(request: GuidedTransportRequest, destination: String, loadingDelay: GetValueIfc = ConstantRV.ZERO, unLoadingDelay: GetValueIfc = ConstantRV.ZERO, loadingPriority: Int = DELAY_PRIORITY, unLoadingPriority: Int = DELAY_PRIORITY, suspensionName: String? = null): GuidedTransportResult(source)

Carries the entity to a destination on the transporter it has claimed.

The loading and unloading delays are the time the entity spends being put on and taken off, during which the transporter is stationary and still holding its space -- which is why they belong here rather than being left to a separate delay: a transporter loading in a junction blocks that junction for exactly as long.

Return

what the journey cost, including any time spent unable to claim the space ahead

Parameters

request

the claim obtained from requestGuidedTransporter

destination

the junction or station to be carried to

loadingDelay

how long it takes to load the entity

unLoadingDelay

how long it takes to unload it

loadingPriority

orders the loading delay against other events at the same instant

unLoadingPriority

orders the unloading delay likewise

suspensionName

names this suspension point when a process has several