request Zone
fun requestZone(holder: ZoneHolderIfc, zone: Zone, action: ZoneHoldActionIfc, onOverlap: ZoneOverlap = ZoneOverlap.RAISE): ZoneRequest(source)
Asks for a zone, which closes to new traffic at once and is held as soon as it has drained.
Returns without waiting, whether or not the zone was free. What the zone does from this instant is refuse every new claim and every new admission; what was already in it finishes and leaves in its own time. ZoneHoldActionIfc.holdBegan fires when the hold actually begins, which is this same instant when the zone was already empty.
Return
the request, whose ZoneRequest.isGranted says whether the hold began at once
Parameters
holder
who is taking the space -- anything at all that can be named and that says what it is waiting for, which for a holder that never queues is nothing
zone
the zone to take, which must be on this guide path
action
told when the hold begins and when it ends