46a47
> #include "mem/protocol/LinkDirection.hh"
49,51d49
< #include "params/ExtLink.hh"
< #include "params/IntLink.hh"
< #include "params/Link.hh"
55d52
< class Network;
56a54
> class Network;
60c58
< class Link : public SimObject
---
> struct LinkEntry
62,65c60,61
< public:
< typedef LinkParams Params;
< Link(const Params *p) : SimObject(p) {}
< const Params *params() const { return (const Params *)_params; }
---
> BasicLink *link;
> LinkDirection direction;
68,74c64
< class ExtLink : public Link
< {
< public:
< typedef ExtLinkParams Params;
< ExtLink(const Params *p) : Link(p) {}
< const Params *params() const { return (const Params *)_params; }
< };
---
> typedef std::map<std::pair<int, int>, LinkEntry> LinkMap;
76,83d65
< class IntLink : public Link
< {
< public:
< typedef IntLinkParams Params;
< IntLink(const Params *p) : Link(p) {}
< const Params *params() const { return (const Params *)_params; }
< };
<
91a74
> void init();
104,109c87,88
< SwitchID newSwitchID();
< void addLink(SwitchID src, SwitchID dest, int link_latency);
< void addLink(SwitchID src, SwitchID dest, int link_latency,
< int bw_multiplier);
< void addLink(SwitchID src, SwitchID dest, int link_latency,
< int bw_multiplier, int link_weight);
---
> void addLink(SwitchID src, SwitchID dest, BasicLink* link,
> LinkDirection dir);
111,112c90,91
< const NetDest& routing_table_entry, int link_latency, int weight,
< int bw_multiplier, bool isReconfiguration);
---
> const NetDest& routing_table_entry,
> bool isReconfiguration);
114,117d92
< //void makeSwitchesPerChip(std::vector<std::vector<SwitchID > > &nodePairs,
< // std::vector<int> &latencies, std::vector<int> &bw_multis,
< // int numberOfChips);
<
128a104,105
> std::vector<BasicExtLink*> m_ext_link_vector;
> std::vector<BasicIntLink*> m_int_link_vector;
130,135d106
< std::vector<SwitchID> m_links_src_vector;
< std::vector<SwitchID> m_links_dest_vector;
< std::vector<int> m_links_latency_vector;
< std::vector<int> m_links_weight_vector;
< std::vector<int> m_bw_multiplier_vector;
<
137a109,111
>
> LinkMap m_link_map;
> std::vector<BasicRouter*> m_router_vector;