![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
One job class of the network. More...
#include <line/lang/qn/network_struct.h>
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. | |
One job class of the network.
Definition at line 774 of file network_struct.h.
| 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().
| 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().
| 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().
| 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().
| 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().
| 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().
| std::string line::qn::JobClass::name |
Definition at line 775 of file network_struct.h.
Referenced by line::qn::Network< double >::add_closed_class(), line::qn::Network< double >::add_open_class(), line::mva::fj_ht(), line::mva::fj_mmt(), line::qn::fj_tag(), line::io::network_to_json(), and line::qn::tag_chain().
| double line::qn::JobClass::population = 0.0 |
infinite for an open class
Definition at line 777 of file network_struct.h.
Referenced by line::qn::Network< double >::add_closed_class(), line::qn::Network< double >::add_open_class(), line::autosolver::auto_traits(), line::qn::binding_capacity_reason(), line::mva::fj_ht(), line::mva::fj_mmt(), line::qn::fj_tag(), line::mva::list_valid_methods(), line::nc::nc_has_lossn_shape(), line::nc::nc_is_dps_model(), line::nc::nc_is_noreentrant_cache(), line::nc::nc_is_oi_model(), line::nc::nc_is_pas_model(), line::io::network_to_json(), line::opt::open_sensitivities(), line::mam::solver_mam_getprob(), line::mam::solver_mam_passage_time(), line::mam::solver_mna_open(), line::mva::solver_mvald_analyzer(), line::nc::solver_nc_analyzer(), line::nc::solver_nc_mem(), line::nc::solver_nc_mem_supports(), line::nc::solver_nc_pas_is_analyzer(), line::nc::solver_ncld(), and line::qn::tag_chain().
| int line::qn::JobClass::prio = 0 |
Definition at line 798 of file network_struct.h.
Referenced by line::qn::Network< double >::add_closed_class(), line::qn::Network< double >::add_open_class(), line::mva::fj_ht(), line::mva::fj_mmt(), and line::io::network_to_json().
| std::size_t line::qn::JobClass::refstat = 1 |
1-based reference station
Definition at line 778 of file network_struct.h.
Referenced by line::qn::Network< double >::add_closed_class(), line::qn::Network< double >::add_open_class(), line::mva::fj_ht(), line::mva::fj_mmt(), and line::io::network_to_json().
| 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().
| 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().
| JobClassType line::qn::JobClass::type = JobClassType::CLOSED |
Definition at line 776 of file network_struct.h.
Referenced by line::qn::Network< double >::add_closed_class(), line::qn::Network< double >::add_open_class(), line::mva::fj_ht(), line::mva::fj_mmt(), line::qn::fj_tag(), and line::io::network_to_json().