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

Port of matlab/src/solvers/line_slotted_request.m: the one reading of the discrete-time switch shared by SolverNC, SolverMAM and SolverLDES, so the same options mean the same thing to all three. More...

#include <algorithm>
#include <cctype>
#include <cmath>
#include <string>
#include "line/util/error.h"
Include dependency graph for slotted_request.h:

Go to the source code of this file.

Classes

struct  line::solvers::SlottedRequest
 The resolved time-scale request. More...

Namespaces

namespace  line
 Conservation laws of a layered queueing network, enumerated from its structure.
namespace  line::solvers

Functions

SlottedRequest line::solvers::slotted_request (std::string timescale, bool slotted, double slotlength)
 Resolves timescale (empty reads as "auto"), slotted and slotlength as they come from options.config.

Detailed Description

Port of matlab/src/solvers/line_slotted_request.m: the one reading of the discrete-time switch shared by SolverNC, SolverMAM and SolverLDES, so the same options mean the same thing to all three.

MODE is "discrete" when config.slotted is true or config.timescale is "discrete", "continuous" when the timescale is "continuous", and "auto" otherwise. Asking for slotted together with a continuous timescale is an error. What "auto" means is the solver's business: MAM infers the time scale from the laws (sn_is_discrete_time), NC and LDES read it as continuous.

SLOT LENGTH is config.slotlength (default 1), the lattice unit d in model time units. Every interarrival and service sample must be a positive multiple of d; a law keeps its meaning whatever d is.

Definition in file slotted_request.h.