LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
network_builder.h File Reference

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"
Include dependency graph for network_builder.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

Detailed Description

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.