LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::sym Namespace Reference

Classes

struct  CtmcSolution
 Symbolic stationary distribution of a CTMC. More...
struct  FluidODEs
 Symbolic analysis of a fluid vector field. More...
class  SageRestEngine
 Client of the line-sage-rest service. More...
class  SymEngine
 A computer algebra backend. More...
class  SymEngineError
 The symbolic backend is unreachable, or rejected the request. More...
struct  SymSensitivity
 Exact parametric sensitivity, following Trivedi and Bobbio (2017), Sec. More...

Functions

std::vector< std::string > sym_docker_image_candidates ()
 Fallback tags, tried in order after SYM_DOCKER_IMAGE.
std::vector< int > sym_probe_ports ()
 Ports probed for an already running service, in order.
void sym_stop_container ()
 Stops the container started by this process, if any.
std::string sym_find_image ()
std::shared_ptr< SymEnginesym_resolve (const std::string &requested="auto")
 Resolves an engine.

Variables

const char *const SYM_DOCKER_IMAGE = "imperialqore/line-sage-rest:latest"
 Image serving the symbolic REST API.
const char *const SYM_URL_ENV = "LINE_SAGE_URL"
 Environment variable naming a service to use.
constexpr int SYM_STARTUP_TIMEOUT_SECONDS = 120
 Seconds to wait for a container to report healthy.

Function Documentation

◆ sym_docker_image_candidates()

std::vector< std::string > line::sym::sym_docker_image_candidates ( )
inline

Fallback tags, tried in order after SYM_DOCKER_IMAGE.

Definition at line 79 of file sym_engines.h.

References sym_docker_image_candidates().

Referenced by sym_docker_image_candidates(), and sym_find_image().

◆ sym_find_image()

std::string line::sym::sym_find_image ( )
inline
Returns
the first locally present image tag, or the empty string if none is

Definition at line 163 of file sym_engines.h.

References line::io::docker_has_local_image(), sym_docker_image_candidates(), and sym_find_image().

Referenced by sym_find_image(), and sym_resolve().

◆ sym_probe_ports()

std::vector< int > line::sym::sym_probe_ports ( )
inline

Ports probed for an already running service, in order.

Definition at line 85 of file sym_engines.h.

References sym_probe_ports().

Referenced by sym_probe_ports(), and sym_resolve().

◆ sym_resolve()

std::shared_ptr< SymEngine > line::sym::sym_resolve ( const std::string & requested = "auto")
inline

Resolves an engine.

Parameters
requested"" or "auto" to search, a URL to use a specific service, "none" to disable the backend, or an image name to start
Returns
an engine, or a null pointer if no backend could be resolved

Definition at line 243 of file sym_engines.h.

References line::io::docker_has_local_image(), SYM_DOCKER_IMAGE, sym_find_image(), sym_probe_ports(), sym_resolve(), SYM_URL_ENV, line::util::trim(), and line::UnsupportedError::UnsupportedError().

Referenced by line::fluid::fluid_jacobian(), and sym_resolve().

◆ sym_stop_container()

void line::sym::sym_stop_container ( )
inline

Stops the container started by this process, if any.

Definition at line 151 of file sym_engines.h.

References line::util::capture(), and sym_stop_container().

Referenced by sym_stop_container().

Variable Documentation

◆ SYM_DOCKER_IMAGE

const char* const line::sym::SYM_DOCKER_IMAGE = "imperialqore/line-sage-rest:latest"
inline

Image serving the symbolic REST API.

Definition at line 72 of file sym_engines.h.

Referenced by sym_resolve().

◆ SYM_STARTUP_TIMEOUT_SECONDS

int line::sym::SYM_STARTUP_TIMEOUT_SECONDS = 120
inlineconstexpr

Seconds to wait for a container to report healthy.

Definition at line 76 of file sym_engines.h.

◆ SYM_URL_ENV

const char* const line::sym::SYM_URL_ENV = "LINE_SAGE_URL"
inline

Environment variable naming a service to use.

Definition at line 74 of file sym_engines.h.

Referenced by sym_resolve().