Table of Contents

Class SystemDefinitionRecord

Namespace
Typhon.Profiler
Assembly
Typhon.Profiler.dll

Describes a system in the DAG, stored in the system definition table of a .typhon-trace file. Variable-length record (name is UTF-8 encoded).

public sealed class SystemDefinitionRecord
Inheritance
SystemDefinitionRecord
Inherited Members

Remarks

RFC 07 access declaration fields (Phase / Reads / Writes / etc.) were added in trace format v6. Older v5 traces yield empty defaults — readers do not throw.

Constructors

SystemDefinitionRecord()

public SystemDefinitionRecord()

Properties

AdditionalReads

Component type names read beyond the system's primary input view (cross-entity reads).

public string[] AdditionalReads { get; init; }

Property Value

string[]

DagId

Flat global id of the DAG this system belongs to — indexes the trace's DagRecord table by Id.

public ushort DagId { get; init; }

Property Value

ushort

ExplicitAfter

Names of systems this one is explicitly ordered AFTER (escape-hatch edge — RFC 07 §Q5).

public string[] ExplicitAfter { get; init; }

Property Value

string[]

ExplicitBefore

Names of systems this one is explicitly ordered BEFORE.

public string[] ExplicitBefore { get; init; }

Property Value

string[]

Index

System index in the DAG array.

public ushort Index { get; init; }

Property Value

ushort

IsExclusivePhase

True iff the system runs alone in its phase (no concurrent peers) — declared via SystemBuilder.ExclusivePhase().

public bool IsExclusivePhase { get; init; }

Property Value

bool

IsParallel

Whether this system uses parallel chunk dispatch.

public bool IsParallel { get; init; }

Property Value

bool

Name

Display name of the system.

public string Name { get; init; }

Property Value

string

PhaseName

Phase token name (RFC 07 §Q3) the system runs in. Empty string when no phase was declared.

public string PhaseName { get; init; }

Property Value

string

Predecessors

Indices of predecessor systems in the DAG.

public ushort[] Predecessors { get; init; }

Property Value

ushort[]

Priority

Priority for overload management (Normal = 0, Low = 1, High = 2, Critical = 3).

public byte Priority { get; init; }

Property Value

byte

Reads

Component type names declared with Reads<T>() — ambiguous-staleness reads.

public string[] Reads { get; init; }

Property Value

string[]

ReadsEvents

Names of event queues this system consumes from.

public string[] ReadsEvents { get; init; }

Property Value

string[]

ReadsFresh

Component type names declared with ReadsFresh<T>() — ordered after writers in the same phase.

public string[] ReadsFresh { get; init; }

Property Value

string[]

ReadsResources

Names of named resources this system reads.

public string[] ReadsResources { get; init; }

Property Value

string[]

ReadsSnapshot

Component type names declared with ReadsSnapshot<T>() — ordered before writers in the same phase.

public string[] ReadsSnapshot { get; init; }

Property Value

string[]

SideWrites

Component type names written via Immediate side-transactions. Surfaced for tooling; does not affect scheduler order.

public string[] SideWrites { get; init; }

Property Value

string[]

Successors

Indices of successor systems in the DAG.

public ushort[] Successors { get; init; }

Property Value

ushort[]

TierFilter

Simulation tier filter (SimTier flags byte). 0x0F = All.

public byte TierFilter { get; init; }

Property Value

byte

Type

Execution model (Pipeline = 0, Query = 1, Callback = 2).

public byte Type { get; init; }

Property Value

byte

Writes

Component type names mutated via Writes<T>().

public string[] Writes { get; init; }

Property Value

string[]

WritesEvents

Names of event queues this system publishes to.

public string[] WritesEvents { get; init; }

Property Value

string[]

WritesResources

Names of named resources this system mutates.

public string[] WritesResources { get; init; }

Property Value

string[]