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

One fork firing synchronization: sn.fjsync{k}. More...

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

Collaboration diagram for line::qn::FjSync< T >:

Public Attributes

std::size_t fork = 0
 1-based Fork node
std::size_t join = 0
 1-based Join node that closes it
std::size_t cls = 0
 1-based ORIGINAL class being forked
std::size_t tag = 0
 1-based tag this entry allocates
std::vector< std::size_t > branchheads
 1-based node per branch
std::vector< std::size_t > auxclasses
 the tag's auxiliary class per branch
std::vector< std::vector< std::size_t > > auxall
 (B x T) every auxiliary class of this (fork, class), for the tag scan.
std::size_t weight = 1
 tasksPerLink: siblings emitted per branch
std::vector< std::size_t > weightlink
 Per-branch tasksPerLink, EMPTY when every branch carries weight.
prob = num_traits<T>::from_int(1)

Detailed Description

template<class T>
struct line::qn::FjSync< T >

One fork firing synchronization: sn.fjsync{k}.

Definition at line 96 of file network_struct.h.

Member Data Documentation

◆ auxall

template<class T>
std::vector<std::vector<std::size_t> > line::qn::FjSync< T >::auxall

(B x T) every auxiliary class of this (fork, class), for the tag scan.

Definition at line 104 of file network_struct.h.

Referenced by line::qn::after_fj_event(), and line::qn::fj_tag().

◆ auxclasses

template<class T>
std::vector<std::size_t> line::qn::FjSync< T >::auxclasses

the tag's auxiliary class per branch

Definition at line 102 of file network_struct.h.

Referenced by line::qn::after_fj_event(), line::qn::fj_tag(), and line::ctmc::solver_ctmc().

◆ branchheads

template<class T>
std::vector<std::size_t> line::qn::FjSync< T >::branchheads

1-based node per branch

Definition at line 101 of file network_struct.h.

Referenced by line::qn::after_fj_event(), line::qn::fj_tag(), and line::ctmc::solver_ctmc().

◆ cls

template<class T>
std::size_t line::qn::FjSync< T >::cls = 0

1-based ORIGINAL class being forked

Definition at line 99 of file network_struct.h.

Referenced by line::qn::after_fj_event(), line::qn::fj_tag(), and line::ctmc::solver_ctmc().

◆ fork

template<class T>
std::size_t line::qn::FjSync< T >::fork = 0

1-based Fork node

Definition at line 97 of file network_struct.h.

Referenced by line::qn::after_fj_event(), line::qn::fj_tag(), and line::ctmc::solver_ctmc().

◆ join

template<class T>
std::size_t line::qn::FjSync< T >::join = 0

1-based Join node that closes it

Definition at line 98 of file network_struct.h.

Referenced by line::qn::fj_tag().

◆ prob

template<class T>
T line::qn::FjSync< T >::prob = num_traits<T>::from_int(1)

Definition at line 118 of file network_struct.h.

Referenced by line::qn::after_fj_event().

◆ tag

template<class T>
std::size_t line::qn::FjSync< T >::tag = 0

1-based tag this entry allocates

Definition at line 100 of file network_struct.h.

Referenced by line::qn::after_fj_event(), and line::qn::fj_tag().

◆ weight

template<class T>
std::size_t line::qn::FjSync< T >::weight = 1

tasksPerLink: siblings emitted per branch

Definition at line 105 of file network_struct.h.

Referenced by line::qn::after_fj_event(), and line::qn::fj_tag().

◆ weightlink

template<class T>
std::vector<std::size_t> line::qn::FjSync< T >::weightlink

Per-branch tasksPerLink, EMPTY when every branch carries weight.

A fork may send a different number of tasks down each link (Fork.setTasksPerLink(class, n, dest)), and the count is what sizes the auxiliary class capacity and the join's required count, so it cannot be collapsed to the node-wide mean. It stays empty in the uniform case so that a plain fork carries exactly the shape it always did; the two paths emit the same interleaved order there, so this is a shape convention and not a behavioural fork.

Definition at line 117 of file network_struct.h.

Referenced by line::qn::after_fj_event(), and line::qn::fj_tag().


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