extern XBT_PRIVATE int sg_network_crosstraffic;
extern XBT_PRIVATE xbt_dynar_t surf_path;
-typedef enum {
- SURF_NETWORK_ELEMENT_HOST=1, /* host type */
- SURF_NETWORK_ELEMENT_ROUTER, /* router type */
- SURF_NETWORK_ELEMENT_AS /* AS type */
-} e_surf_network_element_type_t;
-
#ifdef __cplusplus
namespace simgrid {
current_routing->hierarchy_ = simgrid::surf::AsImpl::RoutingMode::base;
simgrid::surf::NetCard *netcard =
- new simgrid::surf::NetCardImpl(host->id, SURF_NETWORK_ELEMENT_HOST, current_routing);
+ new simgrid::surf::NetCardImpl(host->id, simgrid::surf::NetCard::Type::Host, current_routing);
sg_host_t h = simgrid::s4u::Host::by_name_or_create(host->id);
h->pimpl_netcard = netcard;
"Refusing to create a router named '%s': this name already describes a node.", router->id);
simgrid::surf::NetCard *netcard =
- new simgrid::surf::NetCardImpl(router->id, SURF_NETWORK_ELEMENT_ROUTER, current_routing);
+ new simgrid::surf::NetCardImpl(router->id, simgrid::surf::NetCard::Type::Router, current_routing);
xbt_lib_set(as_router_lib, router->id, ROUTING_ASR_LEVEL, (void *) netcard);
XBT_DEBUG("Having set name '%s' id '%d'", router->id, netcard->id());
}
/* make a new routing component */
- simgrid::surf::NetCard *netcard = new simgrid::surf::NetCardImpl(new_as->name(), SURF_NETWORK_ELEMENT_AS, current_routing);
+ simgrid::surf::NetCard *netcard = new simgrid::surf::NetCardImpl(new_as->name(), simgrid::surf::NetCard::Type::As, current_routing);
if (current_routing == NULL && routing_platf->root_ == NULL) { /* it is the first one */
routing_platf->root_ = new_as;
virtual bool isAS()=0;
virtual bool isHost()=0;
virtual bool isRouter()=0;
+ enum class Type {
+ Host, Router, As
+ };
};
struct XBT_PRIVATE NetCardImpl : public NetCard {
public:
- NetCardImpl(const char *name, e_surf_network_element_type_t componentType, AsImpl *containingAS)
+ NetCardImpl(const char *name, NetCard::Type componentType, AsImpl *containingAS)
: name_(xbt_strdup(name)),
componentType_(componentType),
containingAS_(containingAS)
char *name() override {return name_;}
AsImpl *containingAS() override {return containingAS_;}
- bool isAS() override {return componentType_ == SURF_NETWORK_ELEMENT_AS;}
- bool isHost() override {return componentType_ == SURF_NETWORK_ELEMENT_HOST;}
- bool isRouter() override {return componentType_ == SURF_NETWORK_ELEMENT_ROUTER;}
+ bool isAS() override {return componentType_ == Type::As;}
+ bool isHost() override {return componentType_ == Type::Host;}
+ bool isRouter() override {return componentType_ == Type::Router;}
private:
int id_ = -1;
char *name_;
- e_surf_network_element_type_t componentType_;
+ NetCard::Type componentType_;
AsImpl *containingAS_;
};