XBT_PUBLIC_CLASS Comm : public Activity {
Comm() : Activity() {}
public:
- virtual ~Comm();
+ ~Comm() override;
public:
/** Creates (but don't start) an async send to the mailbox #dest */
: Context(std::move(code), cleanup_func, process)
{}
- ~AttachContext();
+ ~AttachContext() override;
/** Called by the context when it is ready to give control
* to the maestro.
: std::runtime_error(what) {}
explicit missing_key_error(const char* what)
: std::runtime_error(what) {}
- ~missing_key_error() noexcept;
+ ~missing_key_error() noexcept override;
};
template<class T> inline
BoostContext(std::function<void()> code,
void_pfn_smxprocess_t cleanup_func,
smx_process_t process);
- ~BoostContext();
+ ~BoostContext() override;
virtual void resume();
private:
static void wrapper(int first, ...);
friend BoostParallelContext;
BoostContextFactory();
- virtual ~BoostContextFactory();
- virtual Context* create_context(std::function<void()> code,
+ ~BoostContextFactory() override;
+ Context* create_context(std::function<void()> code,
void_pfn_smxprocess_t, smx_process_t process) override;
void run_all() override;
};
class XBT_PRIVATE AsCluster: public AsImpl {
public:
explicit AsCluster(const char*name);
- ~AsCluster();
+ ~AsCluster() override;
- virtual void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override;
+ void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override;
void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override;
virtual void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position);
class XBT_PRIVATE AsClusterFatTree : public AsCluster {
public:
explicit AsClusterFatTree(const char*name);
- ~AsClusterFatTree();
- virtual void getRouteAndLatency(NetCard *src, NetCard *dst,
+ ~AsClusterFatTree() override;
+ void getRouteAndLatency(NetCard *src, NetCard *dst,
sg_platf_route_cbarg_t into,
double *latency) override;
class XBT_PRIVATE AsClusterTorus:public simgrid::surf::AsCluster {
public:
explicit AsClusterTorus(const char*name);
- virtual ~AsClusterTorus();
+ ~AsClusterTorus() override;
void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position) override;
void getRouteAndLatency(NetCard * src, NetCard * dst, sg_platf_route_cbarg_t into, double *latency) override;
void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster) override;
AsDijkstra(const char*name, bool cached);
void seal() override;
- ~AsDijkstra();
+ ~AsDijkstra() override;
xbt_node_t routeGraphNewNode(int id, int graph_id);
graph_node_map_element_t nodeMapSearch(int id);
void newRoute(int src_id, int dst_id, sg_platf_route_cbarg_t e_route);
class XBT_PRIVATE AsFloyd: public AsRoutedGraph {
public:
explicit AsFloyd(const char *name);
- ~AsFloyd();
+ ~AsFloyd() override;
void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override;
void addRoute(sg_platf_route_cbarg_t route) override;
explicit AsFull(const char*name);
void seal() override;
- ~AsFull();
+ ~AsFull() override;
void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override;
void addRoute(sg_platf_route_cbarg_t route) override;
friend simgrid::surf::RoutingPlatf;
protected:
explicit AsImpl(const char *name);
- ~AsImpl();
+ ~AsImpl() override;
public:
/**
class XBT_PRIVATE AsNone : public AsImpl {
public:
explicit AsNone(const char*name);
- ~AsNone();
+ ~AsNone() override;
void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override;
void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override;
class XBT_PRIVATE AsRoutedGraph : public AsImpl {
public:
explicit AsRoutedGraph(const char*name);
- ~AsRoutedGraph();
+ ~AsRoutedGraph() override;
xbt_dynar_t getOneLinkRoutes() override;
- virtual void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override;
+ void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override;
virtual sg_platf_route_cbarg_t newExtendedRoute(RoutingMode hierarchy, sg_platf_route_cbarg_t routearg, int change_order);
protected:
void getRouteCheckParams(NetCard *src, NetCard *dst);
: AsCluster(name)
{}
+AsVivaldi::~AsVivaldi() {}
+
void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t route, double *lat)
{
XBT_DEBUG("vivaldi_get_route_and_latency from '%s'[%d] '%s'[%d]", src->name(), src->id(), dst->name(), dst->id());
class XBT_PRIVATE AsVivaldi: public AsCluster {
public:
explicit AsVivaldi(const char *name);
- ~AsVivaldi() {};
+ ~AsVivaldi() override;
xbt_dynar_t getOneLinkRoutes() override {return NULL;};
void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override;
/* Host destruction logic */
/**************************/
- ~HostImpl();
+ ~HostImpl() override;
public:
// Overload the method for covariant return type:
lmm_expand(model->getMaxminSystem(), constraint, getVariable(), 1.0);
}
+CpuCas01Action::~CpuCas01Action() {}
+
}
}
class CpuCas01Model : public simgrid::surf::CpuModel {
public:
CpuCas01Model();
- ~CpuCas01Model();
+ ~CpuCas01Model() override;
Cpu *createCpu(simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core) override;
double next_occuring_event_full(double now) override;
class CpuCas01 : public Cpu {
public:
CpuCas01(CpuCas01Model *model, simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core);
- ~CpuCas01();
+ ~CpuCas01() override;
void apply_event(tmgr_trace_iterator_t event, double value) override;
CpuAction *execution_start(double size) override;
CpuAction *sleep(double duration) override;
public:
CpuCas01Action(Model *model, double cost, bool failed, double speed,
lmm_constraint_t constraint);
-
- ~CpuCas01Action() {};
+ ~CpuCas01Action() override;
};
}
* Model *
*********/
+CpuModel::~CpuModel() {}
+
void CpuModel::updateActionsStateLazy(double now, double /*delta*/)
{
CpuAction *action;
}
}
+bool CpuModel::next_occuring_event_isIdempotent()
+{
+ return true;
+}
+
/************
* Resource *
************/
XBT_PUBLIC_CLASS CpuModel : public Model {
public:
CpuModel() : Model() {};
+ ~CpuModel() override;
/**
* @brief Create a Cpu
*/
virtual Cpu *createCpu(simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core)=0;
- void updateActionsStateLazy(double now, double delta);
- void updateActionsStateFull(double now, double delta);
- bool next_occuring_event_isIdempotent() {return true;}
+ void updateActionsStateLazy(double now, double delta) override;
+ void updateActionsStateFull(double now, double delta) override;
+ bool next_occuring_event_isIdempotent() override;
};
/************
class CpuTi : public Cpu {
public:
CpuTi(CpuTiModel *model, simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core);
- ~CpuTi();
+ ~CpuTi() override;
void setSpeedTrace(tmgr_trace_t trace) override;
class CpuTiModel : public CpuModel {
public:
CpuTiModel();
- ~CpuTiModel();
+ ~CpuTiModel() override;
Cpu *createCpu(simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core) override;
double next_occuring_event(double now) override;
void updateActionsState(double now, double delta) override;
namespace simgrid {
namespace surf {
+HostCLM03Model::~HostCLM03Model() {}
+
double HostCLM03Model::next_occuring_event(double now){
adjustWeightOfDummyCpuActions();
class HostCLM03Model : public HostModel {
public:
HostCLM03Model(): HostModel(){}
- ~HostCLM03Model() {}
+ ~HostCLM03Model() override;
double next_occuring_event(double now) override;
-
void updateActionsState(double now, double delta) override;
};
}
}
}
+NetworkCm02Model::~NetworkCm02Model() {}
+
Link* NetworkCm02Model::createLink(const char *name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy,
xbt_dict_t properties)
{
return action;
}
+bool NetworkCm02Model::next_occuring_event_isIdempotent()
+{
+ return true;
+}
+
+void NetworkCm02Model::gapAppend(double size, const Link* link, NetworkAction* action)
+{
+ // Nothing
+};
+
/************
* Resource *
************/
}
}
+NetworkCm02Link::~NetworkCm02Link() {}
+
/**********
* Action *
**********/
+
+NetworkCm02Action::~NetworkCm02Action() {}
+
void NetworkCm02Action::updateRemainingLazy(double now)
{
double delta = 0.0;
lastValue_ = lmm_variable_getvalue(getVariable());
}
+void NetworkCm02Link::gapAppend(double size, const Link* link, NetworkAction* action)
+{
+ // Nothing
+};
+
}
}
class NetworkCm02Model : public NetworkModel {
public:
NetworkCm02Model();
- ~NetworkCm02Model() { }
+ ~NetworkCm02Model();
Link* createLink(const char *name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy,
xbt_dict_t properties) override;
void updateActionsStateLazy(double now, double delta) override;
void updateActionsStateFull(double now, double delta) override;
Action *communicate(NetCard *src, NetCard *dst, double size, double rate) override;
- bool next_occuring_event_isIdempotent() override {return true;}
- virtual void gapAppend(double /*size*/, const Link* /*link*/, NetworkAction * /*action*/) {};
+ bool next_occuring_event_isIdempotent() override;
+ virtual void gapAppend(double size, const Link* link, NetworkAction* action);
protected:
bool haveGap_ = false;
};
NetworkCm02Link(NetworkCm02Model *model, const char *name, xbt_dict_t props,
double bandwidth, double latency, e_surf_link_sharing_policy_t policy,
lmm_system_t system);
-
+ ~NetworkCm02Link() override;
void apply_event(tmgr_trace_iterator_t event, double value) override;
void updateBandwidth(double value) override;
void updateLatency(double value) override;
- virtual void gapAppend(double /*size*/, const Link* /*link*/, NetworkAction * /*action*/) {};
+ virtual void gapAppend(double size, const Link* link, NetworkAction* action);
};
class NetworkCm02Action : public NetworkAction {
friend Action *NetworkCm02Model::communicate(NetCard *src, NetCard *dst, double size, double rate);
friend NetworkSmpiModel;
-
public:
NetworkCm02Action(Model *model, double cost, bool failed)
- : NetworkAction(model, cost, failed) {};
- void updateRemainingLazy(double now);
+ : NetworkAction(model, cost, failed) {};
+ ~NetworkCm02Action() override;
+ void updateRemainingLazy(double now) override;
protected:
double senderGap_;
};
namespace simgrid {
namespace surf {
+ NetworkConstantModel::~NetworkConstantModel() {}
+
Link* NetworkConstantModel::createLink(const char *name, double bw, double lat, e_surf_link_sharing_policy_t policy,
xbt_dict_t properties) {
stateSet_->push_back(*this);
}
};
+
+ NetworkConstantAction::~NetworkConstantAction() {}
+
}
}
class NetworkConstantModel : public NetworkModel {
public:
NetworkConstantModel() : NetworkModel() { };
- ~NetworkConstantModel() { }
+ ~NetworkConstantModel() override;
Action *communicate(NetCard *src, NetCard *dst, double size, double rate) override;
double next_occuring_event(double now) override;
class NetworkConstantAction : public NetworkAction {
public:
NetworkConstantAction(NetworkConstantModel *model_, double size, double latency);
+ ~NetworkConstantAction();
double initialLatency_;
};
public:
NetworkIBModel();
explicit NetworkIBModel(const char *name);
- ~NetworkIBModel();
+ ~NetworkIBModel() override;
void updateIBfactors(NetworkAction *action, IBNode *from, IBNode * to, int remove);
xbt_dict_t active_nodes;
namespace simgrid {
namespace surf {
+ NetworkModel::~NetworkModel()
+ {
+ lmm_system_free(maxminSystem_);
+ xbt_heap_free(actionHeap_);
+ delete modifiedSet_;
+ }
+
double NetworkModel::latencyFactor(double /*size*/) {
return sg_latency_factor;
}
NetworkModel() : Model() { }
/** @brief Destructor */
- ~NetworkModel() {
- lmm_system_free(maxminSystem_);
- xbt_heap_free(actionHeap_);
- delete modifiedSet_;
- }
+ ~NetworkModel() override;
/**
* @brief Create a Link
/* Link destruction logic */
/**************************/
protected:
- ~Link();
+ ~Link() override;
public:
void destroy(); // Must be called instead of the destructor
private: