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

What the dispatch returns: the metrics plus the algorithm that produced them. More...

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

Collaboration diagram for line::mva::DispatchResult< T >:

Public Attributes

MvaSolution< T > sol
std::string actualmethod
 The concrete algorithm, as the reference's actualmethod.
std::shared_ptr< qn::NetworkStruct< T > > refreshed_struct
 Set only by the integrated cacheqn branch: the converged struct whose routing carries the actual hit/miss probabilities, from which the runner derives ArvR and ResidT.
solvers::CacheMetrics< T > cache
 What a cache branch measured, EMPTY on every model without a Cache.
std::string warning
 Non-empty when the analyzer that ran would have raised a reference line_warning and still returned a usable answer, carrying its text.

Detailed Description

template<class T>
struct line::mva::DispatchResult< T >

What the dispatch returns: the metrics plus the algorithm that produced them.

Definition at line 109 of file mva_dispatch.h.

Member Data Documentation

◆ actualmethod

◆ cache

template<class T>
solvers::CacheMetrics<T> line::mva::DispatchResult< T >::cache

What a cache branch measured, EMPTY on every model without a Cache.

A cache's hit / miss / delayed-hit split is a SOLVER RESULT, not model state, and it is the only part of the answer the (station x class) tables cannot carry. Dropping it here is what left -a cache refusing under -s mva and, through CPPLINE, left MATLAB's Cache node holding whatever the PREVIOUS solver wrote – retrieval_simple printed the LDES table under the MVA label. Assembled by solvers::cache_metrics_of, one rule for every branch of every solver.

Definition at line 130 of file mva_dispatch.h.

Referenced by line::mva::mva_dispatch(), and line::mva::solver_mva_run_analyzer().

◆ refreshed_struct

template<class T>
std::shared_ptr<qn::NetworkStruct<T> > line::mva::DispatchResult< T >::refreshed_struct

Set only by the integrated cacheqn branch: the converged struct whose routing carries the actual hit/miss probabilities, from which the runner derives ArvR and ResidT.

Empty for every other model.

Definition at line 118 of file mva_dispatch.h.

Referenced by line::mva::mva_dispatch(), and line::mva::solver_mva_run_analyzer().

◆ sol

◆ warning

template<class T>
std::string line::mva::DispatchResult< T >::warning

Non-empty when the analyzer that ran would have raised a reference line_warning and still returned a usable answer, carrying its text.

Set only by the SJN branch today (solver_mva_sjn.h).

KNOWN DIVERGENCE, DELIBERATE. This port has no general warning channel – no line_warning equivalent exists under cpp/include/line/ – so the text stops here, at the dispatch boundary. A caller of mva_dispatch sees it; a user going through SolverMVA does NOT, because solver_mva_runner.h does not read the field. Closing that last hop needs a runner change and a decision about where a solver-level warning should surface at all, which is wider than this analyzer.

Definition at line 144 of file mva_dispatch.h.

Referenced by line::mva::mva_dispatch(), and line::mva::solver_mva_run_analyzer().


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