LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::qn::JobClass Struct Reference

One job class of the network. More...

#include <line/lang/qn/network_struct.h>

Collaboration diagram for line::qn::JobClass:

Public Attributes

std::string name
JobClassType type = JobClassType::CLOSED
double population = 0.0
 infinite for an open class
std::size_t refstat = 1
 1-based reference station
bool completes = true
 Whether passage through the reference station is a COMPLETION.
bool is_ref_class = false
 marks the chain's reference class
int attr_kind = -1
 LayeredNetworkElement of the element it stands for.
std::size_t attr_idx = 0
 index of that element
int prio = 0
bool immfeed = false
 Class-level immediate feedback, ORed with the station's own setting into sn.immfeed.
double deadline = std::numeric_limits<double>::infinity()
 sn.classdeadline(r): the soft deadline EDD and EDF order by, and the tardiness JMT reports.
std::size_t spawn = 0
 sn.classspawn(r): the 1-based class injected at the SAME station on every completion of this class, 0 where none.
bool self_looping = false
 A SelfLoopingClass: a closed class that perpetually cycles at its reference station.

Detailed Description

One job class of the network.

Definition at line 774 of file network_struct.h.

Member Data Documentation

◆ attr_idx

std::size_t line::qn::JobClass::attr_idx = 0

index of that element

Definition at line 797 of file network_struct.h.

Referenced by line::mva::fj_ht(), and line::mva::fj_mmt().

◆ attr_kind

int line::qn::JobClass::attr_kind = -1

LayeredNetworkElement of the element it stands for.

Definition at line 796 of file network_struct.h.

Referenced by line::mva::fj_ht(), and line::mva::fj_mmt().

◆ completes

bool line::qn::JobClass::completes = true

Whether passage through the reference station is a COMPLETION.

TRUE BY DEFAULT, as in JobClass.m:34, JobClass.java:108 and the native Python classes.py:37 – every other codebase constructs a class that completes, and nothing on the model.json wire carries the flag, so a false default here made the SAME model mean different things in this port than in the three it is a port of. The visible consequence was that every response-time law refused: solver_ctmc_cdf_respt needs one completing class in the tagged chain to have an event to end the passage at, so getCdfRespT on an ordinary two-station model reported that no class completes. The paths that need a NON-completing class – an auxiliary fork-join sibling, an LN pseudo-class – set it to false explicitly, and did so already.

Definition at line 794 of file network_struct.h.

Referenced by line::mva::fj_ht(), line::mva::fj_mmt(), and line::qn::fj_tag().

◆ deadline

double line::qn::JobClass::deadline = std::numeric_limits<double>::infinity()

sn.classdeadline(r): the soft deadline EDD and EDF order by, and the tardiness JMT reports.

Infinite where the class declares none, which is NetworkStruct.m:17's "Inf = no deadline" sentinel.

Definition at line 811 of file network_struct.h.

Referenced by line::io::network_to_json().

◆ immfeed

bool line::qn::JobClass::immfeed = false

Class-level immediate feedback, ORed with the station's own setting into sn.immfeed.

It is the class-wide spelling of the same property, and the JSON wire carries it as a bare "immediateFeedback": true on the class where the node-level form is a per-class map on the node.

Definition at line 805 of file network_struct.h.

Referenced by line::io::network_to_json().

◆ is_ref_class

bool line::qn::JobClass::is_ref_class = false

marks the chain's reference class

Definition at line 795 of file network_struct.h.

Referenced by line::mva::fj_ht(), line::mva::fj_mmt(), line::qn::fj_tag(), and line::io::network_to_json().

◆ name

◆ population

◆ prio

◆ refstat

std::size_t line::qn::JobClass::refstat = 1

◆ self_looping

bool line::qn::JobClass::self_looping = false

A SelfLoopingClass: a closed class that perpetually cycles at its reference station.

It carries no state beyond ClosedClass, so it is built as one; the marker exists so the writer does not silently downgrade the wire type to Closed and so getUsedLangFeatures can name it.

Definition at line 824 of file network_struct.h.

Referenced by line::io::network_to_json().

◆ spawn

std::size_t line::qn::JobClass::spawn = 0

sn.classspawn(r): the 1-based class injected at the SAME station on every completion of this class, 0 where none.

MATLAB stores -1 for none; the 0 here is this port's usual absent-index sentinel.

Definition at line 817 of file network_struct.h.

Referenced by line::io::network_to_json().

◆ type


The documentation for this struct was generated from the following file: