-
- private:
- std::vector<s_smpi_factor_t> orecv_parsed_values;
- std::vector<s_smpi_factor_t> osend_parsed_values;
- std::vector<s_smpi_factor_t> oisend_parsed_values;
- simgrid::s4u::Host *host = nullptr;
-
- public:
- static simgrid::xbt::Extension<simgrid::s4u::Host, Host> EXTENSION_ID;
-
- explicit Host(simgrid::s4u::Host *ptr);
- ~Host();
-
- double orecv(size_t size);
- double osend(size_t size);
- double oisend(size_t size);
+ kernel::resource::FactorSet orecv_{"smpi/or", 0.0, factor_lambda};
+ kernel::resource::FactorSet osend_{"smpi/os", 0.0, factor_lambda};
+ kernel::resource::FactorSet oisend_{"smpi/ois", 0.0, factor_lambda};
+ s4u::Host* host = nullptr;
+ /**
+ * @brief Generates warning message if user's config is conflicting (callback vs command line/xml)
+ * @param op String with config name (smpi/os, smpi/or, smpi/ois)
+ */
+ void check_factor_configs(const std::string& op) const;
+
+public:
+ static xbt::Extension<s4u::Host, smpi::Host> EXTENSION_ID;
+
+ explicit Host(s4u::Host* ptr);
+
+ double orecv(size_t size, s4u::Host* src, s4u::Host* dst) const;
+ double osend(size_t size, s4u::Host* src, s4u::Host* dst) const;
+ double oisend(size_t size, s4u::Host* src, s4u::Host* dst) const;