driveTo

open suspend fun driveTo(vehicle: VehicleMovementIfc, destination: LocationIfc, purpose: MovePurpose = ksl.modeling.spatial.MovePurpose.SERVICE, suspensionName: String? = null): Boolean(source)

Sends vehicle to destination and waits for the journey to end, however it ends.

The one verb written against ksl.modeling.spatial.VehicleMovementIfc rather than against a substrate, so a process that drives a vehicle does not have to know whether it runs on a guide path, a continuous projection or a free path. What it buys over move is that the journey can be stopped part way: a breakdown, a flat battery or a controller's recall ends the wait short of the destination, and this reports that rather than pretending it arrived.

move, moveWith and transportWith are unchanged and are still the way to move a resource directly; they are a single delay to the destination and cannot be interrupted.

Return

true when it arrived, false when something stopped it short. A caller that ignores the answer gets the behaviour move has always had

Parameters

vehicle

whatever is being moved

destination

where it is to go

purpose

what the journey is for. Never what the vehicle is carrying, which the substrate reads for itself

suspensionName

names this suspension point when a process has several