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

Source(model, name): the external arrival station. More...

#include <line/lang/qn/nodes.h>

Inheritance diagram for line::Source:
Collaboration diagram for line::Source:

Public Member Functions

 Source (NetworkModel &m, const std::string &nm)
void set_arrival (std::size_t cls, const Dist &d)
 setArrival(class, distribution).
void set_arrival_batch (std::size_t cls, const Dist &d)
 setArrivalBatch(class, batchSizeDist).
void set_marked_arrival (const Dist &d, const std::vector< std::size_t > &classes)
 setMarkedArrival(process, classes): bind a MARKED arrival process, one class per mark.
Public Member Functions inherited from line::Station
void set_service (std::size_t cls, const Dist &d)
 setService(class, distribution).
void set_number_of_servers (double n)
 setNumberOfServers(n).
void set_capacity (double k)
 setCapacity(k), the K of Kendall's notation.
void set_class_capacity (std::size_t cls, double k)
 setClassCapacity(class, k).
void set_drop_rule (std::size_t cls, lang::DropStrategy rule)
 setDropRule(class, rule).
void set_sched_param (std::size_t cls, double weight)
 setSchedParam(class, weight): the DPS/GPS share.
void set_load_dependence (const std::vector< double > &alpha)
 setLoadDependence(alpha).
void set_polling_type (lang::PollingType rule, int par=0)
 setPollingType(type, k).
void set_switchover (std::size_t cls, const Dist &so)
 setSwitchover(class, distribution).
void set_switchover (std::size_t from_cls, std::size_t to_cls, const Dist &so)
 setSwitchover(fromClass, toClass, distribution).
void set_breakdown (const Dist &failure, const Dist &repair)
 setBreakdown(failure, repair).
void add_server_type (const qn::Station< double >::ServerType &stype)
 addServerType(type): one pool of a heterogeneous station.
std::size_t get_station_index () const
 getStationIndex(): the 1-based station index, distinct from the node one.
Public Member Functions inherited from line::Node
std::size_t get_index () const
 get_index(): the 1-based node index the builder assigned.
const std::string & get_name () const
 getName().
NetworkModel & model () const
 The model this node belongs to.
 operator std::size_t () const
 A handle IS its index wherever one is expected.
void set_routing (std::size_t cls, lang::RoutingStrategy rs)
 setRouting(class, strategy).
void set_routing_weights (std::size_t cls, const std::map< std::size_t, double > &weights)
 setRoutingWeight(class, weights): the WRROBIN share per destination.

Additional Inherited Members

Protected Member Functions inherited from line::Station
 Station (NetworkModel &m, std::size_t idx, const std::string &nm)
Protected Member Functions inherited from line::Node
 Node (NetworkModel &m, std::size_t idx, const std::string &nm)
Protected Attributes inherited from line::Node
NetworkModel * model_
std::size_t idx_
std::string name_

Detailed Description

Source(model, name): the external arrival station.

Definition at line 160 of file nodes.h.

Constructor & Destructor Documentation

◆ Source()

line::Source::Source ( NetworkModel & m,
const std::string & nm )
inline

Definition at line 162 of file nodes.h.

References line::Station::Station().

Member Function Documentation

◆ set_arrival()

void line::Source::set_arrival ( std::size_t cls,
const Dist & d )
inline

setArrival(class, distribution).

Definition at line 164 of file nodes.h.

References line::Node::idx_, line::Node::model_, and line::qn::Network< T >::set_arrival().

◆ set_arrival_batch()

void line::Source::set_arrival_batch ( std::size_t cls,
const Dist & d )
inline

setArrivalBatch(class, batchSizeDist).

Definition at line 166 of file nodes.h.

References line::Node::idx_, line::Node::model_, and line::qn::Network< T >::set_arrival_batch().

◆ set_marked_arrival()

void line::Source::set_marked_arrival ( const Dist & d,
const std::vector< std::size_t > & classes )
inline

setMarkedArrival(process, classes): bind a MARKED arrival process, one class per mark.

A mark is a label the process attaches to each event, and here it selects the CLASS of the arriving job: mark k emits jobs of classes[k-1], with all marks driven by ONE shared modulating chain. That sharing is the point and it is why this is not set_arrival per class with copies of the process: K copies are K independent streams. The binding IS the order of classes.

Takes any marked family the engine declares: MMAP and MPH (stationary), MMAPt and MPHt (schedule-bearing), or BMMAPt, whose epochs also release a BATCH of jobs that all carry the mark's class.

Definition at line 184 of file nodes.h.

References line::Node::idx_, line::Node::model_, line::qn::Network< T >::set_arrival(), and line::qn::Network< T >::set_marked_classes().


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