-/* Copyright (c) 2013-2014. The SimGrid Team.
+/* Copyright (c) 2013-2015. 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 <cstddef>
+
+#include <algorithm>
+
+#include <xbt/log.h>
+
#include "network_smpi.hpp"
#include "simgrid/sg_config.h"
if (surf_network_model)
return;
- surf_network_model = new NetworkSmpiModel();
+ surf_network_model = new simgrid::surf::NetworkSmpiModel();
net_define_callbacks();
- xbt_dynar_push(model_list, &surf_network_model);
- //network_solve = lmm_solve;
+ xbt_dynar_push(all_existing_models, &surf_network_model);
xbt_cfg_setdefault_double(_sg_cfg_set, "network/sender_gap", 10e-6);
xbt_cfg_setdefault_double(_sg_cfg_set, "network/weight_S", 8775);
}
+namespace simgrid {
+namespace surf {
+
NetworkSmpiModel::NetworkSmpiModel()
: NetworkCm02Model() {
m_haveGap=true;
}
}
-void NetworkSmpiModel::gapAppend(double size, const NetworkLinkPtr link, NetworkActionPtr action)
+void NetworkSmpiModel::gapAppend(double size, Link* link, NetworkAction *act)
{
const char *src = link->getName();
xbt_fifo_t fifo;
- //surf_action_network_CM02_t last_action;
- //double bw;
+ NetworkCm02Action *action= static_cast<NetworkCm02Action*>(act);
if (sg_sender_gap > 0.0) {
if (!gap_lookup) {
}
}
-void NetworkSmpiModel::gapRemove(ActionPtr lmm_action)
+void NetworkSmpiModel::gapRemove(Action *lmm_action)
{
xbt_fifo_t fifo;
size_t size;
- NetworkCm02ActionPtr action = static_cast<NetworkCm02ActionPtr>(lmm_action);
+ NetworkCm02Action *action = static_cast<NetworkCm02Action*>(lmm_action);
if (sg_sender_gap > 0.0 && action->p_senderLinkName
&& action->p_senderFifoItem) {
double NetworkSmpiModel::bandwidthConstraint(double rate, double bound, double size)
{
- return rate < 0 ? bound : min(bound, rate * bandwidthFactor(size));
+ return rate < 0 ? bound : std::min(bound, rate * bandwidthFactor(size));
}
/************
/**********
* Action *
**********/
+
+}
+}