SlotFlow API Documentation

TimedSlotSpace
in package

FinalYes

Time-expanded view of a base SlotSpace.

Tags
experimental

The timed and demand-scheduling layer is unproven against a real workload: tested and documented, but not yet validated by a production consumer, so its shape is expected to change once one exists. Pin an exact version if you build on it. The execution engine carries no such caveat.

Table of Contents

Properties

$axis  : TimeAxis
$baseSpace  : SlotSpace
$dispatchCalendar  : DispatchCalendarInterface|null
$durationResolver  : TimedDurationResolverInterface|null
$slots  : array<string, TimedSlot>

Methods

__construct()  : mixed
Create one timed view over a base slot space and a discrete time axis.
fromBaseSpace()  : self
Build a timed view over one base slot space, defaulting to the space's declared time axis.
getEdgesFrom()  : array<int, TimedMovementEdge>
Expand one timed slot into the timed holdover edge plus any reachable timed movement edges.
slot()  : TimedSlot
Resolve one timed slot from either `(slot, time)` input or a serialized `slot@time` key.
slotsAt()  : array<int, TimedSlot>
Return every timed slot in the expanded space for one resolved time index.
timedQuantityState()  : TimedQuantityState
Expand a base quantity state into this timed slot space at one origin time.
defaultDurationValue()  : int|string
dispatchTime()  : int
duration()  : int
Resolve one base-edge duration into canonical bucket count.

Properties

Methods

fromBaseSpace()

Build a timed view over one base slot space, defaulting to the space's declared time axis.

public static fromBaseSpace(SlotSpace $baseSpace[, TimeAxis|null $axis = null ][, callable|null $durationResolver = null ][, DispatchCalendarInterface|callable|null $dispatchCalendar = null ]) : self
Parameters
$baseSpace : SlotSpace
$axis : TimeAxis|null = null
$durationResolver : callable|null = null
$dispatchCalendar : DispatchCalendarInterface|callable|null = null
Return values
self

getEdgesFrom()

Expand one timed slot into the timed holdover edge plus any reachable timed movement edges.

public getEdgesFrom(TimedSlot $from) : array<int, TimedMovementEdge>

Return holdover and duration-expanded movement edges from one timed slot.

Parameters
$from : TimedSlot
Return values
array<int, TimedMovementEdge>

slot()

Resolve one timed slot from either `(slot, time)` input or a serialized `slot@time` key.

public slot(Slot|string|null $slot[, DateTimeImmutable|int|string|null $time = null ]) : TimedSlot
Parameters
$slot : Slot|string|null
$time : DateTimeImmutable|int|string|null = null
Return values
TimedSlot

slotsAt()

Return every timed slot in the expanded space for one resolved time index.

public slotsAt(DateTimeImmutable|int|string $time) : array<int, TimedSlot>
Parameters
$time : DateTimeImmutable|int|string
Return values
array<int, TimedSlot>
On this page

Search results