ReleaseStation

An atomic release: when an entity arrives, releases this entity's oldest outstanding allocation on resource (FIFO) and forwards. If the entity holds no allocation on the resource, the model is in error and the build fails loudly — releases must be paired with seizes.

Construct via StationNetwork.releaseStation or the builder DSL.

Properties

Link copied to clipboard
open override val hasOnwardRouting: Boolean

True if this node has any onward routing configured (a static next receiver, a station-level sender, or a class route). A non-terminal node for which this is false — and which is not a non-terminal step of a registered route — is a dangling node and fails validation.

Link copied to clipboard
open override val numReleased: CounterCIfc

The number of times this station released the resource.

Functions

Link copied to clipboard

Sets the receiver of entities that have just released the resource.

Link copied to clipboard
open override fun outlets(): List<QObjectReceiverIfc>

The statically known receivers this node may route to. Best-effort: empty when the node has no static link or when its routing is opaque (for example, a probabilistic sender whose destinations are not introspectable).

Link copied to clipboard
open override fun receive(arrivingQObject: ModelElement.QObject)