X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/18d23a87c23647366cfffbc61d3f7c632301159c..73f730073c2793c40652d390f90fc8e1d2f32bbf:/src/surf/network_cm02.hpp diff --git a/src/surf/network_cm02.hpp b/src/surf/network_cm02.hpp index 67a20851a5..6eaa6a0996 100644 --- a/src/surf/network_cm02.hpp +++ b/src/surf/network_cm02.hpp @@ -1,3 +1,9 @@ +/* Copyright (c) 2013-2014. The SimGrid Team. + * All rights reserved. */ + +/* This program is free software; you can redistribute it and/or modify it + * under the terms of the license (GNU LGPL) which comes with this package. */ + #include "network_interface.hpp" #include "xbt/fifo.h" #include "xbt/graph.h" @@ -11,11 +17,11 @@ class NetworkCm02Model; typedef NetworkCm02Model *NetworkCm02ModelPtr; -class NetworkCm02LinkLmm; -typedef NetworkCm02LinkLmm *NetworkCm02LinkLmmPtr; +class NetworkCm02Link; +typedef NetworkCm02Link *NetworkCm02LinkPtr; -class NetworkCm02ActionLmm; -typedef NetworkCm02ActionLmm *NetworkCm02ActionLmmPtr; +class NetworkCm02Action; +typedef NetworkCm02Action *NetworkCm02ActionPtr; /********* * Tools * @@ -42,7 +48,7 @@ public: } ~NetworkCm02Model() { } - NetworkLinkPtr createResource(const char *name, + NetworkLinkPtr createNetworkLink(const char *name, double bw_initial, tmgr_trace_t bw_trace, double lat_initial, @@ -51,7 +57,9 @@ public: tmgr_trace_t state_trace, e_surf_link_sharing_policy_t policy, xbt_dict_t properties); + void addTraces(); void updateActionsStateLazy(double now, double delta); + void updateActionsStateFull(double now, double delta); ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst, double size, double rate); }; @@ -60,9 +68,9 @@ public: * Resource * ************/ -class NetworkCm02LinkLmm : public NetworkLinkLmm { +class NetworkCm02Link : public NetworkLink { public: - NetworkCm02LinkLmm(NetworkCm02ModelPtr model, const char *name, xbt_dict_t props, + NetworkCm02Link(NetworkCm02ModelPtr model, const char *name, xbt_dict_t props, lmm_system_t system, double constraint_value, tmgr_history_t history, @@ -74,6 +82,8 @@ public: tmgr_trace_t lat_trace, e_surf_link_sharing_policy_t policy); void updateState(tmgr_trace_event_t event_type, double value, double date); + void updateBandwidth(double value, double date=surf_get_clock()); + void updateLatency(double value, double date=surf_get_clock()); }; @@ -81,12 +91,12 @@ public: * Action * **********/ -class NetworkCm02ActionLmm : public NetworkActionLmm { +class NetworkCm02Action : public NetworkAction { friend ActionPtr NetworkCm02Model::communicate(RoutingEdgePtr src, RoutingEdgePtr dst, double size, double rate); public: - NetworkCm02ActionLmm(ModelPtr model, double cost, bool failed) - : Action(model, cost, failed) {}; + NetworkCm02Action(ModelPtr model, double cost, bool failed) + : NetworkAction(model, cost, failed) {}; void updateRemainingLazy(double now); void recycle(); };