LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::mva::FjMmt< T >::ForkRec Struct Reference

One record per Fork of the base layer, ascending in node index. More...

#include <line/solvers/mva/fj_mmt.h>

Collaboration diagram for line::mva::FjMmt< T >::ForkRec:

Public Attributes

std::size_t node = 0
 1-based node index, shared with the base layer
std::size_t joinNode = 0
 0 when the fork has no join
std::size_t joinStation = 0
 0 when the fork has no join
double fanOut = 1.0
 sn.nodeparam{f}.fanOut, which MATLAB sets to the fork's tasksPerLink and NOT to its number of output links.
std::vector< std::size_t > origfanout
 (nclasses+1) the fork's number of output links for each class.
std::vector< bool > outer
 (nclasses+1) outer_forks(f, r): this fork is the outermost one on class r's path.
std::size_t parent = 0
 parent_forks(f) as an index into forks: the fork whose node visits measure how often this one fires.

Detailed Description

template<class T>
struct line::mva::FjMmt< T >::ForkRec

One record per Fork of the base layer, ascending in node index.

Definition at line 115 of file fj_mmt.h.

Member Data Documentation

◆ fanOut

template<class T>
double line::mva::FjMmt< T >::ForkRec::fanOut = 1.0

sn.nodeparam{f}.fanOut, which MATLAB sets to the fork's tasksPerLink and NOT to its number of output links.

A fork built from an LQN POST_AND emits one task per link, so this is 1 and the synchronisation delay is E[max] - mean. It is kept as a named quantity because the reference multiplies E[max] by it.

Definition at line 126 of file fj_mmt.h.

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

◆ joinNode

template<class T>
std::size_t line::mva::FjMmt< T >::ForkRec::joinNode = 0

0 when the fork has no join

Definition at line 117 of file fj_mmt.h.

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

◆ joinStation

template<class T>
std::size_t line::mva::FjMmt< T >::ForkRec::joinStation = 0

0 when the fork has no join

Definition at line 118 of file fj_mmt.h.

Referenced by line::mva::fj_mmt().

◆ node

template<class T>
std::size_t line::mva::FjMmt< T >::ForkRec::node = 0

1-based node index, shared with the base layer

Definition at line 116 of file fj_mmt.h.

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

◆ origfanout

template<class T>
std::vector<std::size_t> line::mva::FjMmt< T >::ForkRec::origfanout

(nclasses+1) the fork's number of output links for each class.

Definition at line 128 of file fj_mmt.h.

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

◆ outer

template<class T>
std::vector<bool> line::mva::FjMmt< T >::ForkRec::outer

(nclasses+1) outer_forks(f, r): this fork is the outermost one on class r's path.

See the header. Only then does the synchronisation delay reach the original class, and only then is one computed at all.

Definition at line 134 of file fj_mmt.h.

◆ parent

template<class T>
std::size_t line::mva::FjMmt< T >::ForkRec::parent = 0

parent_forks(f) as an index into forks: the fork whose node visits measure how often this one fires.

Equal to this fork's own index when it is not nested.

Definition at line 140 of file fj_mmt.h.

Referenced by line::mva::fj_sort_forks().


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