![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
The Network constructor API: Queue, Delay, Source, Sink, Router, ClassSwitch, Cache, Fork and Join, the job classes, and link. More...
#include <cmath>#include <cstddef>#include <limits>#include <map>#include <string>#include <utility>#include <vector>#include "line/api/sn/sn_fj_nodevisits_mmt.h"#include "line/lang/distribution.h"#include "line/lang/prior.h"#include "line/lang/qn/network_struct.h"#include "line/num/number.h"#include "line/util/error.h"#include "line/util/matrix.h"Go to the source code of this file.
Classes | |
| class | line::qn::RoutingMatrix< T > |
| The routing matrix a model script fills in, MATLAB's P cell array. More... | |
| struct | line::qn::RoutingMatrix< T >::Key |
| class | line::qn::Network< T > |
| A queueing network under construction. More... | |
Namespaces | |
| namespace | line |
| namespace | line::qn |
The Network constructor API: Queue, Delay, Source, Sink, Router, ClassSwitch, Cache, Fork and Join, the job classes, and link.
This is the port of what a MATLAB model script writes – Network, Queue(model, name, sched), queue.setService(class, dist), model.link(P) – feeding the SAME refresh as every other front end, so a model built here and a model read from a file produce the same NetworkStruct. The split is deliberate and mirrors lqn_builder.h / lqn_reader.h: stage one constructs, stage two (NetworkStruct::refresh_*) derives, and only stage two is allowed to compute anything.
INDEX SPACES. Every method takes and returns 1-based NODE indices, which is what a model script deals in; the station index is an internal detail of the struct and is looked up here. add_* returns the node index of the node it created, and add_*_class the class index.
WHAT IS REFUSED, and where. The builder accepts the feature set SolverMVA declares (SolverMVA.getFeatureSet); the refresh refuses a state-dependent routing strategy by name, and each solver refuses what it cannot analyse. Nothing is silently mapped onto a neighbour.
Definition in file network_builder.h.