using m5::stl_helpers::deletePointers;
NetworkInterface_d::NetworkInterface_d(const Params *p)
- : ClockedObject(p), Consumer(this)
+ : ClockedObject(p), Consumer(this), m_id(p->id),
+ m_virtual_networks(p->virt_nets), m_vc_per_vnet(p->vcs_per_vnet),
+ m_num_vcs(m_vc_per_vnet * m_virtual_networks)
{
- m_id = p->id;
- m_virtual_networks = p->virt_nets;
- m_vc_per_vnet = p->vcs_per_vnet;
- m_num_vcs = m_vc_per_vnet*m_virtual_networks;
-
m_vc_round_robin = 0;
m_ni_buffers.resize(m_num_vcs);
m_ni_enqueue_time.resize(m_num_vcs);
private:
GarnetNetwork_d *m_net_ptr;
- int m_virtual_networks, m_num_vcs, m_vc_per_vnet;
- NodeID m_id;
+ const NodeID m_id;
+ const int m_virtual_networks, m_vc_per_vnet, m_num_vcs;
std::vector<OutVcState_d *> m_out_vc_state;
std::vector<int> m_vc_allocator;
int m_vc_round_robin; // For round robin scheduling