IdleTransporterObstruction

data class IdleTransporterObstruction(val time: Double, val blockedTransporterName: String, val awaitedZoneName: String, val idleTransporterName: String)(source)

A transporter blocked behind another that occupies space and has nothing scheduled to make it move: an idle, unallocated transporter parked on the path, and a second transporter that needs the space it holds.

This is a reading of one instant, and what happens next is no part of it. Most of these clear: the next piece of work seizes the parked transporter, it drives off, and the blocked one goes on. One of them is a journey that had to wait, and a busy shop can produce dozens in a run that delivers everything it was given.

It lasts to the end of the replication exactly when nothing arrives to move the parked transporter, which is the case worth alarm, and the replication-end audit is what reports it by naming every transporter still waiting when the horizon fell. A count that rises while the fleet keeps delivering is congestion; a run that ends with transporters still blocked is a fleet that stopped.

There is no cycle here, so it is not deadlock, and moving the idle transporter clears it, which is why it is reported rather than thrown by default. It is counted as well as logged, so that it appears in the standard report where an analyst will see it rather than only in a log. Setting the transport system's strict obstruction policy promotes it to GuidedPathObstructionException instead.

Parameters

time

the simulation time at which the obstruction was observed

blockedTransporterName

the transporter that cannot proceed

awaitedZoneName

the zone it needs

idleTransporterName

the idle transporter holding that zone

Constructors

Link copied to clipboard
constructor(time: Double, blockedTransporterName: String, awaitedZoneName: String, idleTransporterName: String)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open override fun toString(): String