SimGrid  3.11
Versatile Simulation of Distributed Systems
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
NetworkModel Class Referenceabstract

SURF network model interface class. More...

#include <network_interface.hpp>

Inheritance diagram for NetworkModel:
Model

Public Member Functions

 NetworkModel ()
 NetworkModel constructor.
 
 NetworkModel (const char *name)
 NetworkModel constructor. More...
 
 ~NetworkModel ()
 The destructor of the NetworkModel.
 
virtual NetworkLinkPtr createNetworkLink (const char *name, double bw_initial, tmgr_trace_t bw_trace, double lat_initial, tmgr_trace_t lat_trace, e_surf_resource_state_t state_initial, tmgr_trace_t state_trace, e_surf_link_sharing_policy_t policy, xbt_dict_t properties)=0
 Create a NetworkLink. More...
 
virtual ActionPtr communicate (RoutingEdgePtr src, RoutingEdgePtr dst, double size, double rate)=0
 Create a communication between two [TODO]. More...
 
virtual double latencyFactor (double size)
 [brief description] More...
 
virtual double bandwidthFactor (double size)
 [brief description] More...
 
virtual double bandwidthConstraint (double rate, double bound, double size)
 [brief description] More...
 
- Public Member Functions inherited from Model
 Model (const char *name)
 Model constructor. More...
 
virtual ~Model ()
 Model destructor.
 
const char * getName ()
 Get the name of the current Model. More...
 
virtual ActionListPtr getReadyActionSet ()
 Get the set of actions in ready state. More...
 
virtual ActionListPtr getRunningActionSet ()
 Get the set of actions in running state. More...
 
virtual ActionListPtr getFailedActionSet ()
 Get the set of actions in failed state. More...
 
virtual ActionListPtr getDoneActionSet ()
 Get the set of actions in done state. More...
 
virtual ActionLmmListPtr getModifiedSet ()
 Get the set of modified actions. More...
 
lmm_system_t getMaxminSystem ()
 Get the maxmin system of the current Model. More...
 
e_UM_t getUpdateMechanism ()
 Get the update mechanism of the current Model. More...
 
xbt_heap_t getActionHeap ()
 Get Action heap. More...
 
virtual double shareResources (double now)
 share the resources More...
 
virtual void updateActionsState (double now, double delta)
 Update state of actions. More...
 

Data Fields

void(* f_networkSolve )(lmm_system_t)
 Function pointer to the function to use to solve the lmm_system_t. More...
 

Detailed Description

SURF network model interface class.

A model is an object which handle the interactions between its Resources and its Actions

Constructor & Destructor Documentation

NetworkModel::NetworkModel ( const char *  name)
inline

NetworkModel constructor.

Parameters
nameThe name of the NetworkModel

Member Function Documentation

virtual NetworkLinkPtr NetworkModel::createNetworkLink ( const char *  name,
double  bw_initial,
tmgr_trace_t  bw_trace,
double  lat_initial,
tmgr_trace_t  lat_trace,
e_surf_resource_state_t  state_initial,
tmgr_trace_t  state_trace,
e_surf_link_sharing_policy_t  policy,
xbt_dict_t  properties 
)
pure virtual

Create a NetworkLink.

Parameters
nameThe name of the NetworkLink
bw_initialThe initial bandwidth of the NetworkLink in bytes per second
bw_traceThe trace associated to the NetworkLink bandwidth [TODO]
lat_initialThe initial latency of the NetworkLink in seconds
lat_traceThe trace associated to the NetworkLink latency [TODO]
state_initialThe initial NetworkLink (state)[e_surf_resource_state_t]
state_traceThe trace associated to the NetworkLink (state)[e_surf_resource_state_t] [TODO]
policyThe sharing policy of the NetworkLink
propertiesDictionary of properties associated to this Resource
Returns
The created NetworkLink
virtual ActionPtr NetworkModel::communicate ( RoutingEdgePtr  src,
RoutingEdgePtr  dst,
double  size,
double  rate 
)
pure virtual

Create a communication between two [TODO].

[TODO]

Parameters
srcThe source [TODO]
dstThe destination [TODO]
sizeThe size of the communication in bytes
rateThe
Returns
The action representing the communication
double NetworkModel::latencyFactor ( double  size)
virtual

[brief description]

[long description]

Parameters
size[description]
Returns
[description]
double NetworkModel::bandwidthFactor ( double  size)
virtual

[brief description]

[long description]

Parameters
size[description]
Returns
[description]
double NetworkModel::bandwidthConstraint ( double  rate,
double  bound,
double  size 
)
virtual

[brief description]

[long description]

Parameters
rate[description]
bound[description]
size[description]
Returns
[description]

Field Documentation

void(* NetworkModel::f_networkSolve)(lmm_system_t)

Function pointer to the function to use to solve the lmm_system_t.

Parameters
systemThe lmm_system_t to solve

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