hold Zones For
fun holdZonesFor(holder: ZoneHolderIfc, zones: List<Zone>, duration: Double, action: ZoneHoldActionIfc, onOverlap: ZoneOverlap = ZoneOverlap.RAISE): ZoneRequest(source)
Takes a set of zones together for a stated duration, and gives them back without being asked.
requestZones for the all-or-nothing rule, holdZoneFor for why the duration runs from the instant the hold begins rather than from the request.
Return
the request, whose ZoneRequest.isGranted says whether the hold began at once
Parameters
holder
who is taking the space
zones
the zones to take, all on this guide path, distinct, at least one
duration
how long to hold them once the hold begins, strictly positive
action
told when the hold begins and when the clock gives it back