* Model *
*********/
class NetworkCm02Model : public Model {
+private:
+ void initialize();
public:
- NetworkCm02Model(int i) : Model("network") {
+ NetworkCm02Model(int /*i*/) : Model("network") {
f_networkSolve = lmm_solve;
m_haveGap = false;
};//FIXME: add network clean interface
- NetworkCm02Model(string name);
- NetworkCm02Model();
+ NetworkCm02Model(string name) : Model(name) {
+ this->initialize();
+ }
+ NetworkCm02Model() : Model("network") {
+ this->initialize();
+ }
+ ~NetworkCm02Model() {
+ if (p_maxminSystem)
+ lmm_system_free(p_maxminSystem);
+ if (p_actionHeap)
+ xbt_heap_free(p_actionHeap);
+ if (p_modifiedSet)
+ xbt_swag_free(p_modifiedSet);
+ }
//FIXME:NetworkCm02LinkPtr createResource(string name);
NetworkCm02LinkLmmPtr createResource(const char *name,
double bw_initial,
e_surf_link_sharing_policy_t policy,
xbt_dict_t properties);
void updateActionsStateLazy(double now, double delta);
- virtual void gapAppend(double size, const NetworkCm02LinkLmmPtr link, NetworkCm02ActionLmmPtr action) {};
+ virtual void gapAppend(double /*size*/, const NetworkCm02LinkLmmPtr /*link*/, NetworkCm02ActionLmmPtr /*action*/) {};
virtual ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst,
double size, double rate);
xbt_dynar_t getRoute(RoutingEdgePtr src, RoutingEdgePtr dst); //FIXME: kill field? That is done by the routing nowadays
class NetworkCm02Link : virtual public Resource {
public:
- NetworkCm02Link(){};
- NetworkCm02Link(NetworkCm02ModelPtr model, const char* name, xbt_dict_t properties) : Resource(model, name, properties) {};
+ NetworkCm02Link() : p_latEvent(NULL) {};
+ NetworkCm02Link(NetworkCm02ModelPtr model, const char* name, xbt_dict_t properties)
+ : Resource(model, name, properties), p_latEvent(NULL) {};
virtual double getBandwidth()=0;
virtual double getLatency();
virtual bool isShared()=0;