SimGrid  3.13
Versatile Simulation of Distributed Systems
simgrid::surf::NetworkL07Model Class Reference

#include <ptask_L07.hpp>

Inheritance diagram for simgrid::surf::NetworkL07Model:
simgrid::surf::NetworkModel simgrid::surf::Model

Public Member Functions

 NetworkL07Model (HostL07Model *hmodel, lmm_system_t sys)
 
 ~NetworkL07Model ()
 
LinkcreateLink (const char *name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy, xbt_dict_t properties) override
 Create a Link. More...
 
Actioncommunicate (NetCard *src, NetCard *dst, double size, double rate) override
 Create a communication between two hosts. More...
 
bool next_occuring_event_isIdempotent () override
 Returns whether this model have an idempotent shareResource() More...
 
- Public Member Functions inherited from simgrid::surf::NetworkModel
 NetworkModel ()
 Constructor. More...
 
 ~NetworkModel ()
 Destructor. More...
 
virtual double latencyFactor (double size)
 Get the right multiplicative factor for the latency. More...
 
virtual double bandwidthFactor (double size)
 Get the right multiplicative factor for the bandwidth. More...
 
virtual double bandwidthConstraint (double rate, double bound, double size)
 Get definitive bandwidth. More...
 
double next_occuring_event_full (double now) override
 
- Public Member Functions inherited from simgrid::surf::Model
 Model ()
 
virtual ~Model ()
 
virtual ActionListgetReadyActionSet ()
 Get the set of actions in ready state. More...
 
virtual ActionListgetRunningActionSet ()
 Get the set of actions in running state. More...
 
virtual ActionListgetFailedActionSet ()
 Get the set of actions in failed state. More...
 
virtual ActionListgetDoneActionSet ()
 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 next_occuring_event (double now)
 Share the resources between the actions. More...
 
virtual double next_occuring_event_lazy (double now)
 
double shareResourcesMaxMin (ActionList *running_actions, lmm_system_t sys, void(*solve)(lmm_system_t))
 
virtual void updateActionsState (double now, double delta)
 Update action to the current time. More...
 
virtual void updateActionsStateLazy (double now, double delta)
 
virtual void updateActionsStateFull (double now, double delta)
 

Public Attributes

HostL07Modelp_hostModel
 
- Public Attributes inherited from simgrid::surf::NetworkModel
void(* f_networkSolve )(lmm_system_t) = lmm_solve
 Function pointer to the function to use to solve the lmm_system_t. More...
 

Additional Inherited Members

- Protected Attributes inherited from simgrid::surf::Model
ActionLmmListPtr modifiedSet_
 
lmm_system_t maxminSystem_ = nullptr
 
e_UM_t updateMechanism_ = UM_UNDEFINED
 
int selectiveUpdate_
 
xbt_heap_t actionHeap_
 

Constructor & Destructor Documentation

simgrid::surf::NetworkL07Model::NetworkL07Model ( HostL07Model hmodel,
lmm_system_t  sys 
)
simgrid::surf::NetworkL07Model::~NetworkL07Model ( )

Member Function Documentation

Link * simgrid::surf::NetworkL07Model::createLink ( const char *  name,
double  bandwidth,
double  latency,
e_surf_link_sharing_policy_t  policy,
xbt_dict_t  properties 
)
overridevirtual

Create a Link.

Parameters
nameThe name of the Link
bandwidthThe initial bandwidth of the Link in bytes per second
latencyThe initial latency of the Link in seconds
policyThe sharing policy of the Link

Implements simgrid::surf::NetworkModel.

Action * simgrid::surf::NetworkL07Model::communicate ( NetCard src,
NetCard dst,
double  size,
double  rate 
)
overridevirtual

Create a communication between two hosts.

It makes calls to the routing part, and execute the communication between the two end points.

Parameters
srcThe source of the communication
dstThe destination of the communication
sizeThe size of the communication in bytes
rateAllows to limit the transfer rate. Negative value means unlimited.
Returns
The action representing the communication

Implements simgrid::surf::NetworkModel.

bool simgrid::surf::NetworkL07Model::next_occuring_event_isIdempotent ( )
inlineoverridevirtual

Returns whether this model have an idempotent shareResource()

The only model that is not is NS3: computing the next timestamp moves the model up to that point, so we need to call it only when the next timestamp of other sources is computed.

Implements simgrid::surf::Model.

Member Data Documentation

HostL07Model* simgrid::surf::NetworkL07Model::p_hostModel

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