X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6c9cea912c940a708a186193f0f33dd34b43d0ad..ebec9c6104a6bbe60b7bf4586baeaf0b88f53505:/src/kernel/resource/NetworkModel.hpp?ds=sidebyside diff --git a/src/kernel/resource/NetworkModel.hpp b/src/kernel/resource/NetworkModel.hpp index 76aa5e6ce3..350877794c 100644 --- a/src/kernel/resource/NetworkModel.hpp +++ b/src/kernel/resource/NetworkModel.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2022. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2023. 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. */ @@ -18,11 +18,11 @@ namespace simgrid::kernel::resource { * Model * *********/ -/** @ingroup SURF_network_interface - * @brief SURF network model interface class +/** @ingroup Model_network_interface + * @brief Network model interface class * @details A model is an object which handles the interactions between its Resources and its Actions */ -class NetworkModel : public Model, public NetworkModelIntf { +class NetworkModel : public Model, public NetworkModelFactors { public: static config::Flag cfg_tcp_gamma; static config::Flag cfg_crosstraffic; @@ -53,29 +53,7 @@ public: * @param rate Allows to limit the transfer rate. Negative value means unlimited. * @return The action representing the communication */ - virtual Action* communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) = 0; - - /** - * @brief Get the right multiplicative factor for the latency. - * @details Depending on the model, the effective latency when sending a message might be different from the - * theoretical latency of the link, in function of the message size. In order to account for this, this function gets - * this factor. - * - * @param size The size of the message. - * @return The latency factor. - */ - virtual double get_latency_factor(double size = 0); - - /** - * @brief Get the right multiplicative factor for the bandwidth. - * @details Depending on the model, the effective bandwidth when sending a message might be different from the - * theoretical bandwidth of the link, in function of the message size. In order to account for this, this function - * gets this factor. - * - * @param size The size of the message. - * @return The bandwidth factor. - */ - virtual double get_bandwidth_factor(double size = 0); + virtual Action* communicate(s4u::Host* src, s4u::Host* dst, double size, double rate, bool streamed) = 0; double next_occurring_event_full(double now) override; @@ -85,8 +63,8 @@ public: /********** * Action * **********/ -/** @ingroup SURF_network_interface - * @brief SURF network action interface class +/** @ingroup Model_network_interface + * @brief Network action interface class * @details A NetworkAction represents a communication between two [hosts](@ref HostImpl) */ class NetworkAction : public Action { @@ -97,8 +75,8 @@ public: /** @brief Constructor * * @param model The NetworkModel associated to this NetworkAction - * @param cost The cost of this NetworkAction in [TODO] - * @param failed [description] + * @param cost The cost of this NetworkAction in bytes + * @param failed Actions can be created in a failed state */ NetworkAction(Model* model, s4u::Host& src, s4u::Host& dst, double cost, bool failed) : Action(model, cost, failed), src_(src), dst_(dst)