#include <xbt/base.h>
#include <xbt/signal.hpp>
-#include "src/kernel/routing/AsImpl.hpp"
+#include "src/kernel/routing/NetZoneImpl.hpp"
/*
#include <float.h>
#include <vector>
class NetCard : public simgrid::xbt::Extendable<NetCard> {
public:
- enum class Type { Host, Router, As };
+ enum class Type { Host, Router, NetZone };
- NetCard(std::string name, NetCard::Type componentType, AsImpl* containingAS)
- : name_(name), componentType_(componentType), containingAS_(containingAS)
- {
- if (containingAS != nullptr)
- id_ = containingAS->addComponent(this);
- simgrid::kernel::routing::NetCard::onCreation(this);
- }
+ NetCard(std::string name, NetCard::Type componentType, NetZoneImpl* netzone_p);
~NetCard() = default;
// Our rank in the vertices_ array of our containing AS.
unsigned int id() { return id_; }
std::string name() { return name_; }
const char* cname() { return name_.c_str(); }
- // This is the AS in which I am
- AsImpl* containingAS() { return containingAS_; }
+ /** @brief the NetZone in which this netcard is included */
+ NetZoneImpl* netzone() { return netzone_; }
- bool isAS() { return componentType_ == Type::As; }
+ bool isNetZone() { return componentType_ == Type::NetZone; }
bool isHost() { return componentType_ == Type::Host; }
bool isRouter() { return componentType_ == Type::Router; }
static simgrid::xbt::signal<void(NetCard*)> onCreation;
+ bool operator<(const NetCard &rhs) const { return name_ < rhs.name_; }
+
private:
unsigned int id_;
std::string name_;
NetCard::Type componentType_;
- AsImpl* containingAS_;
+ NetZoneImpl* netzone_;
};
}
}
}
+XBT_PUBLIC(sg_netcard_t) sg_netcard_by_name_or_null(const char* name);
+
#endif /* KERNEL_ROUTING_NETCARD_HPP_ */