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

Is a usable lqns installed on this machine? More...

#include <cstdlib>
#include <string>
#include <vector>
#include "line/util/subprocess.h"
Include dependency graph for lqns_probe.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::lqns

Functions

const std::string & line::lqns::lqns_version ()
 The version banner of the local lqns, empty when there is none.
int line::lqns::lqns_major_version ()
 The major release number, 0 when no binary answered.
bool line::lqns::lqns_is_available ()
 True when lqns is installed AND is a release this port speaks.

Detailed Description

Is a usable lqns installed on this machine?

Its own header, small enough for SolverAUTO to include: the layered arm of chooseAvgSolverHeur gates its LQNS candidate on SolverLQNS.isAvailable(), so the chooser needs the answer without taking on the wrapper, the .lqnx writer and the XML DOM behind it.

THE ANSWER IS CACHED for the life of the process. A binary does not appear or vanish mid-run, and the probe is a fork and an exec: SolverAUTO would otherwise pay for one on every layered choice it makes.

Definition in file lqns_probe.h.